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
nullpero 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
nulla 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
$stringsea de tipo string y nonull. Por razones históricas, PHP permite pasarnullpara 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)
?>
