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');