Una funzione è un blocco di codice che può essere riutilizzato ogni volta che serve. Per definire una funzione si usa la parola chiave function.
definzione di funzioni
//funzione con paramentri
function nomeFun($par1,$par2,...,$parN){
//corpo della funzione
}
//funzione senza parametri
function nomeFun2(){
//corpo della funzione
}
Le funzioni si chiamano attraverso il loro nome e gli eventuali paramentri.
Ad esempio una funzione che somma due numeri può essere la seguente:
funzione somma
//definzione
function somma($a,$b){
return $a+$b;
}
//chiamata
$res = somma(5,3)
All'interno della funzione i parametri assumono i valori che vengono passati con la chiamata. Quando si chiama somma(5,3), i valori vanno a finire nelle variabili che occupano la stessa posizione, 5 valorizzerà $a e 3 valorizzerà $b.
Se nel corpo di una funzione c'è la parola return la funzione torna un valore, che solitamente è calcolato in base ai parametri che vengono passati. Le funzioni con il return possono essere usate nel lato sinistro di un uguaglianaza o come condizioni di if o while.
Non è obbligatorio che le funzioni abbiano i return.
funzione senza return
//definzione
function nl(){
echo "<br>";
}
//chiamata
nl()
E' possibile definire delle funzioni con dei parametri opzionali.
parametri opzionali
function divisoPer($num,$div=2){
return $num/$div;
}
//ciamate
echo divisoPer(10,5) //2
echo divisoPer(10) //5
Quando nella definzione di una funzione ci sono uno o più parametri che sono seguiti dall'uguale, che devono essere per forza gli ultimi parametri, quel parametrodiventa opzionale. Se il parametro è passato nella chiamata, il valore opzionale prende il valore passato, se non viene passato il parametro avrà il valore impostato nella definzione della funzione.