Utilizando argumentos predeterminados en una función

Estoy confundido acerca de los valores predeterminados para la función PHP, ns. Digamos que tengo una función como esta:

function foo($blah, $x = "some value", $y = "some other value") {
    // code here!
}

¿Qué pasa si quiero usar el argumento predeterminado para $ x y establecer un argumento diferente para $ y?

He estado experimentando con diferentes formas y me estoy confundiendo cada vez más. Por ejemplo, probé estos dos:

foo("blah", null, "test");
foo("blah", "", "test");

Pero ambos no dan como resultado un argumento predeterminado adecuado para $ x. También he intentado configurarlo por nombre de variable.

foo("blah", $x, $y = "test");   

Esperaba que algo así funcionara. Pero no funciona como esperaba en absoluto. Parece que no importa lo que haga, tendré que terminar escribiendo los argumentos predeterminados de todos modos, cada vez que invoque la función. Y debo estar perdiendo algo obvio.

Respuestas a la pregunta(22)

Su respuesta a la pregunta