Dlaczego nie mogę tego zrobić?Nie można ustawić domyślnej wartości argumentu na zmienną globalną?
function ($var1, $var2 = $GLOBALS['var']){
...
}
globalny „var” jest obiektem
Dlaczego nie mogę tego zrobić?Nie można ustawić domyślnej wartości argumentu na zmienną globalną?
function ($var1, $var2 = $GLOBALS['var']){
...
}
globalny „var” jest obiektem
Nie można używać zmiennych jako wartości domyślne. Można to wykorzystać:
function ($var1, $var2 = null){
if(is_null($var2))
$var2=$GLOBALS['var'];
...
}
domyślne wartości parametrów dla funkcji muszą być stałe.
Można ustawić jego wartość dummy, np. null
, a następnie na początku funkcji zastąp wartość.
function ($var1, $var2 = $GLOBALS['var']){
if(is_null($var2))
$var2=$GLOBALS['var'];
}
+1. Z dokumentów PHP: "Wartość domyślna musi być stałym wyrażeniem, a nie (na przykład) zmienną, elementem klasy lub wywołaniem funkcji." – Jacob