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).
Nel manuale ciascuna funzione è documentata per un rapido riferimento. Conoscendo come leggere e capendo il testo si è in grado di apprendere PHP molto più facilmente. Piuttosto che appoggiarsi sugli esempi o sul copia e incolla, preferirai sicuramente sapere come leggere la definizione di una funzione. Cominciamo:
Nota: Pre-requisito: comprensione di base dei tipi di variabili
Sebbene PHP sia un linguaggio poco tipizzato (loosely typed), è importante avere una conoscenza di base delle tipologie di variabili per il loro importante significato.
La definizione della funzione ci dice quale tipo di valore viene restituito. Utilizziamo la definizione di strlen() come nostro primo esempio:
strlen (PHP 4, PHP 5, PHP 7) strlen -- Restituisce la lunghezza di una stringa Descrizione strlen ( string $string ) : int Restituisce la lunghezza della stringa data.
Parte | Descrizione |
---|---|
strlen | Nome della funzione. |
(PHP 4, PHP 5, PHP 7) | strlen() è disponibile in tutte le versioni di PHP 4, 5 e 7 |
( string $string ) |
Il primo (ed in questo caso unico) parametro/argomento per questa
funzione si chiama string , ed è una
string.
|
int | Tipo di valore restituito dalla funzione, il quale è un int (ovvero la lunghezza di una stringa si misura in numeri). |
Si potrebbe riscrivere la funzione precedente in modo generico:
function name ( parameter type parameter name ) : returned type
Diverse funzioni hanno diversi parametri, tipo in_array(). Il loro prototipo è:
in_array ( mixed $needle, array $haystack , bool $strict = false ) : bool
Cosa significa? in_array() restituisce un valore
boolean value, true
se riesce
(se il parametro needle
viene trovato in
haystack
) oppure false
se fallisce (se il parametro
needle
non viene trovato in
haystack
). Il primo parametro si chiama
needle
e può essere di diversi
tipi, pertanto lo chiameremo
"mixed". Questo parametro needle
di tipo mixed
(che indica che il valore che stiamo cercando) può essere sia un valore scalare (stringa, intero,
oppure float), sia una
matrice o array.
haystack
(che indica la variabile in cui cercare) è il
secondo parametro. Il terzo parametro opzionale è
chiamato strict
. Tutti i parametri opzionali hanno valori
di default; se il valore di default è sconosciuto, viene mostrato come ?
. Il manuale
indica che il valore di default per strict
è il
boolean false
. Vedere le pagine del manuale di ciascuna funzione per i dettagli
di come funziona.
In aggiunta il simbolo & (ampersand) anteposto ad un parametro di una funzione permette al parametro di essere passato per referenza, come mostrato sotto:
preg_match ( string $pattern , string $subject , array &$matches = null, int $flags = 0 , int $offset = 0 ) : int|false
In questo esempio, si può vedere il terzo parametro opzionale &$matches
che verrà
passato per referenza.
Esistono anche funzioni con complesse informazioni sulla versione PHP. Ad esempio la funzione html_entity_decode():
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
Questo significa che questa funzione è disponibile solo a partire dalla release PHP 4.3.0.
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).