php access array value from function return

2019-04-23 14:00发布

问题:

silly php question... why cant i do this?

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

instead you have to do this

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

回答1:

The syntax just doesn't allow it unfortunately.

AFAIK there was at one time intention to put that syntax in PHP6, but it has been dropped.



回答2:

PHP grammar only allows subscript notation (i.e. ['country']) on the end of a variable expression (i.e. $user) not an expression (i.e. Auth::getFullUser())



回答3:

Poor language/interpreter design.

Same reason you can't do "functionname"() and functions are case insensitive.



标签: php arrays scope