Istruzione function in php: le funzioni

Istruzione function in php: le funzioni

Istruzione function in php: le funzioni

Le funzioni in PHP

  • Introduzione
  • Funzioni definite dall’utente
  • Dichiarazione dei parametri di una funzione

L’istruzione function in php dichiara una funzione che può essere nativa o definita dall’utente; il formato generale di una funzione è il seguente:

funzione(valore1,valore2...)

Il numero di valori varia secondo la funzione e ognuno di essi può essere un’espressione valida, compresa un’altra chiamata di funzione. Ecco un esempio di funzione predefinita

$lunghezza = strlen("casa");

Strlen è una funzione standard di php che restituisce la lunghezza di una stringa quindi alla variabile $lunghezza sarà assegnato il valore 4 ovvero le lettere di “casa”.

Funzioni definite dall’utente

La sintassi generale per definire un istruzione function in php è la seguente

function nome_funzione(argomento1, argomento2){
    istruzioni
}

Affinché una funzione possa restituire un valore al suo interno dovrai eseguire una chiamata di RETURN. In questo modo la funzione interrompe la sua esecuzione e restituisce l’espressione come valore della funzione. Ora vedremo un esempio di una funzione che accetta un argomento e ne restituisce la somma:

function somma($numero){
   return $numero + $numero;
}

Come si può notare l’istruzione return è messa prima dell’espressione $numero+$numero in modo tale che alla fine la funzione restituisca la somma. Fatta questa funzione la si può utilizzare in qualunque momento in questo modo:

echo "La somma di 12 + 12 è:" . somma(12);

Dichiarazione dei parametri di una funzione

Avete visto che con l’istruzione function in php è possibile passare un numero di argomenti qualsiasi. Esistono due modi per farlo: il primo, molto comune, è chiamato passaggio per valore e il secondo passaggio per riferimento. La tecnica da usare per il passaggio degli argomenti è specificata nella definizione della funzione stessa e non durante la chiamata.

Parametri per valore

In questo caso l’argomento può essere qualsiasi espressione valida: essa è valutata e il suo valore è assegnato alla variabile corrispondente della funzione. Per esempio in questo caso a $x è assegnato il valore 8 e a $y il valore $c:

function prova($x, $y){
  ...
}
prova(2*a, $c)

Parametri per riferimento

Il passaggio per riferimento richiede che l’argomento sia una variabile. Anziché passarne il valore, la variabile corrispondente della funzione fa riferimento direttamente alla variabile che è stata passata. In questo caso, quindi, se la cambiate all’interno della funzione tale modifica interesserà anche la variabile nell’ambito esterno.

function quadrato(&$n){
  $n = $n+$n;
}
$numero = 4;
quadrato($numero);
echo $numero;

Il simbolo & che precede $n nei parametri della funzione indica a PHP il passaggio per riferimento e il risultato della chiamata è $numero al quadrato;questo codice quindi produrrà il risultato 12.

Parametri predefiniti

PHP supporta i parametri predefiniti, che consentono di specificare un valore predefinito per i parametri di una funzione che non sono passati alla funzione stessa durante la chiamata. I valori predefiniti specificati nell’istruzione function, in php, devono essere un valore costante: uno scalare, un array con valori scalai o una costante. Ecco un esempio di utilizzo dei parametri predefiniti:

function incrementa(&$num, $incremento = 1){
   $num += $incremento;
}
$num = 4;
incrementa($num);
incrementa($num, 3);

Il risultato di questo codice è 8, cioè $num incrementato di 4. Prima lo si aumenta di 1 con la prima chiamata a incrementa, che utilizza 1 come incremento predefinito; poi il numero è nuovamente aumentato di 3, ossia di 4 in totale.


Ti potrebbe interessare anche