¿Por qué no puedo hacer eso?¿No se puede establecer el valor predeterminado del argumento en una variable global?
function ($var1, $var2 = $GLOBALS['var']){
...
}
la 'var' global es un objeto
¿Por qué no puedo hacer eso?¿No se puede establecer el valor predeterminado del argumento en una variable global?
function ($var1, $var2 = $GLOBALS['var']){
...
}
la 'var' global es un objeto
No puede utilizar variables como valores por defecto. Puede utilizar este: valores de los parámetros
function ($var1, $var2 = null){
if(is_null($var2))
$var2=$GLOBALS['var'];
...
}
predeterminados para las funciones deben ser constantes.
Puede establecerlo en un valor ficticio como null
y luego al principio de su función reemplazar el valor.
function ($var1, $var2 = $GLOBALS['var']){
if(is_null($var2))
$var2=$GLOBALS['var'];
}
+1. Fuera de los documentos PHP: "El valor predeterminado debe ser una expresión constante, no (por ejemplo) una variable, un miembro de la clase o una llamada a la función". – Jacob