2010-05-20 17 views
8

pregunta de php tonto ... ¿por qué no puedo hacer esto?valor de matriz de acceso php de la función return

echo Auth::getFullUser()[ 'country' ]; 

lugar que tiene que hacer este

$user = Auth::getFullUser(); 
echo $user[ 'country' ]; 
+1

supongo que sería capaz de hacer esto: 'eco (Aut :: getFullUser()) ['country']; ' –

+2

no, no lo eres. – VolkerK

Respuesta

5

La sintaxis simplemente no lo permite por desgracia.

AFAIK Hubo una vez la intención de poner esa sintaxis en PHP6, pero es has been dropped.

+0

muchas gracias por aclarar eso, solo asegurándome de que no había una mejor manera. –

1

Mal lenguaje/intérprete de diseño.

La misma razón por la que no puede hacer "nombre de función"() y las funciones no distinguen entre mayúsculas y minúsculas.

+1

No es pobre en lo más mínimo. Si no te gusta el idioma, hay muchos otros para que elijas. –

+0

sí, no es pobre, solo me gusta guardar escribiendo una variable adicional ... era solo curiosidad. –

+1

Inconveniente, digamos, y debe comprender que Kendall Hopkins también usa PHP. No somos enemigos, solo honestos usuarios de PHP. – erisco

5

gramática PHP sólo permite la notación de subíndice (es decir ['country']) en el final de una expresión variable (es decir $user) no es una expresión (es decir Auth::getFullUser())

Cuestiones relacionadas