问题
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.
来源:https://stackoverflow.com/questions/2875163/php-access-array-value-from-function-return