Funciones internas

PHP dispone de numerosas funciones y estructuras estándar. También hay funciones que requieren extensiones específicas de PHP, sin las cuales se obtendrá el error fatal undefined function. Por ejemplo, para utilizar las funciones de imágenes, tales como imagecreatetruecolor(), se necesitará el soporte de GD en PHP. O bien, para utilizar mysqli_connect(), se necesitará la extensión MySQLi. Hay funciones básicas que están incluidas en todas las versiones de PHP, tales como las funciones de strings y las funciones de variables. Utilice phpinfo() o get_loaded_extensions() para saber qué extensiones están compiladas con su PHP. Tenga en cuenta también que numerosas extensiones están activadas por defecto, y que el manual de PHP está compartimentado por extensión. Véase los capítulos de configuración, instalación así como los detalles particulares de cada extensión, para saber cómo ponerlas en marcha.

Leer y comprender el prototipo de una función se describe en el apéndice Cómo leer la definición de una función (prototipo). Es importante comprender qué devuelve una función, o si una función trabaja directamente sobre el valor de los parámetros proporcionados. Por ejemplo, str_replace() devolverá una string modificada, mientras que usort() trabaja directamente sobre la variable pasada como parámetro. Cada página del manual tiene información específica sobre cada función, como el número de parámetros, las evoluciones de especificaciones, los valores devueltos en caso de éxito o fracaso, y la disponibilidad según las versiones. Conocer bien estas diferencias, a veces sutiles, es crucial para programar bien en PHP.

Nota: Si los parámetros dados a una función no son correctos, como pasar un array cuando se espera un string, el valor devuelto de la función es indefinido. En este caso, la función devolverá la mayoría de las veces un valor null pero esto es solo una convención y no puede ser considerado como una certeza. A partir de PHP 8.0.0, normalmente se lanza una excepción TypeError en este caso.

Nota:

En modo coercitivo, los tipos escalares de las funciones internas son nullables por defecto. A partir de PHP 8.1.0, pasar null a un parámetro de función interna que no está declarado como nullable está deprecado y emite una advertencia de deprecación en modo coercitivo para alinearse con el comportamiento de las funciones definidas por el usuario, donde los tipos escalares deben ser marcados como nullables explícitamente.

Por ejemplo, la función strlen() espera que el parámetro $string sea de tipo string y no null. Por razones históricas, PHP permite pasar null para este parámetro en modo coercitivo. El parámetro es entonces convertido implícitamente a string, resultando en un valor "". Tenga en cuenta que una TypeError es emitida en modo estricto.

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

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

add a note

User Contributed Notes

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