PHP 8.3.17 Released!

Funciones internas (incluidas)

PHP se estandariza con muchas funciones y construcciones. También existen funciones que necesitan extensiones específicas de PHP compiladas, si no, aparecerán errores fatales "undefined function" ("función no definida"). Por ejemplo, para usar las funciones de image tales como imagecreatetruecolor(), PHP debe ser compilado con soporte para GD. O para usar mysql_connect(), PHP debe ser compilado con soporte para MySQLi. Hay muchas funciones de núcleo que está incluidas en cada versión de PHP, tales como las funciones de string y de variable. Una llamada a phpinfo() o get_loaded_extensions() mostrará las extensiones que están cargadas en PHP. Observe también que muchas extensiones están habilitadas por defecto y que el manual de PHP está dividido por extensiones. Véase configuración, instalación, y capítulos individuales de extensiones para más información sobre cómo configurar PHP.

Interpretar y comprender un prototipo de una función está explicado dentro de la sección del manual titulada cómo interpretar la definición de una función. Es importante comprender lo que devuelve una función o si una función funciona directamente con un valor pasado. Por ejemplo, str_replace() devolverá la cadena modificada mientras que usort() funciona con la variable actual pasada. Cada página del manual también tiene información específica para cada función, como información sobre parámetros de funciones, cambios de comportamiento, valores devueltos en caso de éxito o fallo, e información de disponibilidad. Conocer estas importantes diferencias (a menudo imperceptibles) es crucial para escribir código PHP correcto.

Nota: Si los parámetros dados a una función no son los que se esperaban, como pasar un array donde se esperaba un string, el valor devuelto de la función será indefinido. En este caso lo más probable es que devuelva null pero esto es sólo una convención, y no se puede confiar en ello. Desde PHP 8.0.0, se supone que se lanzará una excepción TypeError en estos casos.

Nota:

Los tipos escalares para funciones internas son nullable por omisión en modo no estricto. Desde PHP 8.1.0, pasar null como parámetro de función interna que no está declarado como nullable se desaconseja y emite un aviso de obsolescencia en modo no estrico, para alinearse con el comportamiento de las funciones definidas por el usuario, donde los tipos escalares deben marcarse como nullable explícitamente.

Por ejemplo, la función strlen() espera que el parámetro $string no sea un string nullable. Por razones históricas, PHP permite pasar null como ese parámetro en modo no estricto, y el parámetro es implícitamente convertido a string, resultando en un valor "". En cambio, se produce un TypeError en modo estricto.

<?php
var_dump
(strlen(null));
// "Deprecated: Passing null to parameter #1 ($string) of type string is deprecated" desde PHP 8.1.0
// int(0)

var_dump(str_contains("foobar", null));
// "Deprecated: Passing null to parameter #2 ($needle) of type string is deprecated" desde PHP 8.1.0
// bool(true)
?>

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top