Cómo utilizar los argumentos por defecto en PHP
-
26-09-2019 - |
Pregunta
quiero definir un doSomething(arg1, arg2)
función con valores por defecto a arg1 = val val y arg2 =
Cuando escribo
function doSomething($arg1="value1", $arg2="value2"){
// do something
}
¿Es posible ahora llamar doSomething con arg1 defecto y arg2 = "new_value2"
Solución
No, por desgracia, esto no es posible. Si define $arg2
, tendrá que definir $arg1
también.
Otros consejos
A veces, si tengo una gran cantidad de parámetros con valores por defecto, voy a utilizar una matriz para contener los argumentos y fusionarlo con valores por defecto.
public function doSomething($requiredArg, $optional = array())
{
$defaults = array(
'arg1' => 'default',
'arg2' -> 'default'
);
$options = array_merge($defaults, $optional);
}
En realidad, sólo tiene sentido si usted tiene una gran cantidad de argumentos sin embargo.
function doSomething( $arg1, $arg2 ) {
if( $arg1 === NULL ) $arg1 = "value1";
if( $arg2 === NULL ) $arg2 = "value2";
...
}
Y a la llamada:
doSomething();
doSomething(NULL, "notDefault");
¿Le arg1 vez Asignar pero no arg2? Si no, entonces me gustaría cambiar el orden.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow