PHP/Programmazione/Funzioni personalizzate: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Discussioni Wikibooks:Libri stampabili, replaced: {{PHP}} → <noinclude>{{PHP}}</noinclude> using AWB |
m Update syntaxhighlight tags - remove use of deprecated <source> tags |
||
Riga 4:
== Definire una funzione ==
La definizione di una nuova funzione in PHP è la seguente:
<
function nome_funzione ($arg1, $arg2, ...) {
//istruzioni
}
</syntaxhighlight>
Dove <code>$arg1, $arg2</code> sono eventuali variabili che assumeranno i valori presi come parametri.
== Impostare un valore di ritorno ==
In una funzione personalizzata per impostare il valore restituito dalla funzione si usa l'istruzione <code>return</code>. La sua sintassi è
<
return espr;
</syntaxhighlight>
Quando il motore PHP incontra questa funzione restituisce il valore di <code>espr</code> e interrompe l'esecuzione del blocco della funzione tra parentesi.
Vediamo adesso un esempio che fa uso del comando return. Vogliamo realizzare un convertitore euro -> lire.
<
<?php
// 15 euro
Riga 39:
echo "$valuta euro equivalgono a $vecchio_conio lire";
?>
</syntaxhighlight>
Analizziamo la funzione "converti". Quando viene invocata riceve un parametro (la quantità di euro da convertire in lire) che viene memorizzata nella variabile $euro. La prima istruzione effettua la conversione vera e propria. Per far si che la funzione restituisca il risultato calcolato viene usato il comando return affiancato dalla variabile da restituire $lire.
Riga 49:
== Usare i parametri ==
Una volta definita una funzione è possibile lavorare sui parametri indicati tra parentesi, che possono essere passati per '''valore''' o per '''riferimento''', allo stesso modo con le variabili. Ad esempio:
<
function prova (&$param1, $param2) {
$param1 = $param2 + 5;
Riga 55:
prova($var1, 3);
</syntaxhighlight>
Dopo l'esecuzione della funzione la variabile <code>$var1</code> conterrà così il valore 8. Si faccia ovviamente attenzione a passare come parametro una variabile e non un'espressione, perché altrimenti non è possibilie effettuare il passaggio per riferimento.
Si noti che una funzione personalizzata deve essere invocata necessariamente dopo la sua dichiarazione. Ad esempio:
<
$var1 = funzione_esempio();
function funzione_esempio() {
return "ciao!";
}
</syntaxhighlight>
In questo caso il motore PHP restituirà un errore, in quanto la lettura dello script avviene in sequenza e la funzione <code>funzione_esempio</code> non è ancora stata dichiarata nel momento in cui viene chiamata.
=== Parametri predefiniti ===
È possibile inoltre prevedere che l'utente non passi alcun valore nel chiamare la funzione ed impostare dei valori predefiniti che deve assumere il parametro nel caso non venga specificato. Ad esempio:
<
function predef ($arg1, $arg2 = 10) {
return $arg1 + $arg2 ;
}
echo predef(23); //restituisce 33
</syntaxhighlight>
[[Categoria:PHP|Funzioni personalizzate]]
|