Como interpretar la definición de una función (prototipo)

Cada función en el manual está documentada para obtener una referencia rápida. Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar, todo el mundo debería saber como interpretar una definición de funciones (prototipos). Empecemos:

Nota: Prerrequisitos: Comprensión básica de los diferentes tipos

Aunque PHP es un lenguaje de programación relajado (en lo referente a los tipos de variables/valores), es importante entender, básicamente, estos diferentes tipos, ya que son importantes.

Las definiciones de funciones nos dicen que tipo de valores son valores de retorno. Usemos la definición de la función strlen() en nuestro primer ejemplo:

strlen

(PHP 4, PHP 5)
strlen -- Obtiene longitud de un string

Descripción
int strlen ( string $string )

Devuelve longitud de un string

Explicación de la definición de una función
Parte Descripción
strlen El nombre de la función.
(PHP 4, PHP 5) strlen() está disponible en todas las versiones de PHP 4, PHP 5
int Tipo de valor devuelto por esta función, en este caso un entero (ejemplo: la longitud de un string se mide en números).
( string $string ) El primer (sólo para este caso) parámetro o argumento para esta función se llama string, y es de tipo string.

Podríamos escribir la definición de esta función de un modo genérico:

      tipo de retorno    nombre función    ( tipo de parámetro   nombre parámetro )

Muchas funciones tiene múltiples parametros, por ejemplo in_array(). Su prototipo sería:

      boleano in_array ( mixto $aguja, array $pajar [, boleano $estricto])

¿Que significa? in_array() devuelve un valor booleano, TRUE si termina con éxito (Si la aguja fué encontrada en el pajar) o FALSE en caso de error (si la aguja no fué encontrada en el pajar). El primer parámetro se llama aguja y puede ser de muchos tipos, así que lo llamamos "mixto". Este mixtoaguja (que es lo que estamos buscando) bien puede ser un valor escalar (string, integer, o float), o un array. El pajar (el array en el que buscamos) es el segundo parámetro. El tercero es un parámetro opcional y lo llamamos estricto. Todos los parámetros opcionales están entre [ paréntesis ]. El manual muestra que el parámetro estricto es por defecto booleano FALSE. Vea la página del manual de cada función para informarse de cómo funcionan.

También hay funciones con información PHP mucho más compleja. Toma html_entity_decode() como ejemplo:

(PHP 4 >= 4.3.0, PHP 5)

Esto significa que esta función solo está disponible desde la versión PHP 4.3.0.

add a note add a note

User Contributed Notes 2 notes

up
1
ceo at l-i-e dot com
9 years ago
Another thing to watch for is the & in the argument list.

That generally means that the function is going to *CHANGE* the value you pass in, in some way, and you can't rely on it being the same as what you handed off to the function.
up
1
php dot devel at homelinkcs dot com
9 years ago
More specifically, an ampersand (&) prepended to an argument name means that the argument will be passed by reference (http://www.php.net/manual/en/language.references.pass.php).
To Top