martes, 13 de noviembre de 2007

Saber si se envió un parámetro con valor por defecto

Una función puede tener argumentos opcionales. Ellos se determinan dándole un valor por defecto al definirla. Por ejemplo

function prueba($clave, $valor = null)

pero cómo podemos diferenciar si se llama a esa función con un sólo parámetro, o si se usan dos y el segundo es igual al valor predeterminado?
La solución es rebuscada, pero no difícil... Simplemente tenemos que buscar cuántos argumentos se pasaron a la función al llamarla


function prueba($clave, $valor = null)
{
if (func_num_args() > 1) {
echo '$valor se envió';
}
}
prueba('1', null);
prueba('1');

1 comentario:

roa dijo...

Hola este blog es de Sebastián
de Argentina Buenos Aires, Argentina si es si yo ví unos temas tuyos en desarrollo web
ayudando a un amigo sobre un fsockopen yo tengo el mismo problema y no se si me podrias ayudar.
Mi correo es ecuaroa@yahoo.com
gracias de antemano
Atte
Ricardo