Il logo del sito

PHP Manual

How to read a function definition

Credo che la risorsa più importante di un linguaggio sia la sua documentazione ufficiale. Saperla leggere è pertanto di fondamentale importanza.

Prerequisito per la comprensione di questo capitolo è la conoscenza di base dei types.

Ogni funzione del manuale è documentata per un rapido consultazione. Sapere come leggere e capire il testo renderà l'apprendimento di PHP molto più facile. Anziché fare affidamento su esempi o sul taglia/incolla, ognuno dovrebbe sapere come leggere le definizioni delle funzioni (prototipi). Cominciamo:

Come primo esempio prendiamo la funzione strlen()

:

<?php
strlen

(PHP 4, PHP 5)
strlen -- Get string length

Description
int strlen ( string $string )

Returns the length of given string.
?>

Spiegazione della definizione della funzione

Elemento Descrizione
strlen Il nome della funzione
(PHP 4, PHP 5) strlen() è presente da tutte le versione di PHP 4 e di PHP 5
int Il tipo di valore restituito dalla funzione, che è un integer.
(string $string) Il primo (ed in questo caso l'unico) parametro/argomento per questa funzione è chiamato "string" ed è una string.

Potremmo riscrivere la definizione della precedente funzione in modo generico come:


returned type function_name (parameter type parameter name)

Molte funzioni richiedono più parametri. La dichiarazione di in_array() è la seguente:


bool in_array (mixed $needle, array $haystack [, bool $strict = false])

Cosa significa?

in_array() restituisce un valore boolean, TRUE in caso di successo( se needle viene trovato nella array haystack) o FALSE in caso di fallimento (needle non viene trovato in haystack)

Il primo argomento della funzione è chiamto needle e può essere di molti diversi tipi, così lo indichiamo come "mixed". Questa valore 'mixed' needle può essere sia di tipo scalare che un array.

haystack (l'array in cui cercare) è il secondo argomento.

Il terzo argomento, strict, è opzionale. Tutti i parametri opzionali son fra parentisi quadre. Il valore di default di strict è FALSE.

Il simbolo "&" anteposto al nome di un argomento consente al parametro di essere passato per reference.


int preg_match ( string $pattern , string $subject [, array &$matches 
      [, int $flags = 0 [, int $offset = 0 ]]] )

In questo esempio possiamo vedere che il terzo parametro opzionale, &$matches, sarà passato per reference.

Ci sono anche funzioni con informazioni più complesse sulle versioni di PHP. Prendiamo come esempio html_entity_decode():


(PHP 4 >= 4.3.0, PHP 5)

Significa che questa funzione è disponibile dalla versione 4.3.0 di PHP.