Originariamente inviato da shawnem
riguardo a questo qualcuno sa come specificare il parametro da passare ad una funzione? mi spiego, mettiamo che io ho una funzione con dei parametri opzionali
codice:
function test (var1 = "temp1", var2 = "temp2", var3 = "temp3", var4 = "temp4")
e quando richiamo questa funzione io voglio specificare solo il secondo parametro, lasciando gli altri in default, come faccio?
so solo che in VB si fa mettendo delle virgole con dei parametri vuoti es. test(3,,,"ciao") ma in php nn funge! come si può fare?
In php si complica un po' infatti devi modificare i parametri di default da destra a sinistra, mi spiego:
nella funzione test($var1="test1",$var2="test2",$var3="test3") se vuoi modificare $var2, devi specificare anche i valori di var1, stesso dicasi per $var3 che per modificarne il valore di default puoi farlo soltanto modificando anche $var1 e $var2.
Una soluzione a tale problema che puoi adottare e' il seguente (E' una soluzione puoi sempre adottarne delle altre :bubu: ).
Codice PHP:
function test($var1="",$var2="",$var3="")
{
$var1 = empty($var1) ? "test1" : $var1;
$var2 = empty($var2) ? "test2" : $var2;
$var3 = empty($var3) ? "test3" : $var3;
echo $var1."
";
echo $var2."
";
echo $var3."
";
//In questo modo se var1 e' vuoto assume valore default altrimenti valore specificato
}
//Naturalmente per richiamare la funzione specificando ad esempio solo $var3 farai:
test('','','Altro valore');
//Se vuoi specificare $var1 e $var3
test('Prova','','Che ne so');
Ciauz