I have a function getStatus() that returns an associative array.

Right now I'm accessing a value with two commands:

$a = $user->getStatus();
$a = $a['keyName'];
doSomething($a);

Is there a way to rephrase that into one command like:

doSomething($user->getStatus()['keyName']);

Comments

Possible duplicate of php access array value from function return. In other words: No, that's not possible with the current PHP syntax. Unfortunately, there's no especially concise way to use an element of an array a function returns.

Written by bcat

Accepted Answer

No, unfortunately that doesn't work.

However, if the order of the returned elements is fixed, you could write something like

list($a) = array_values($user->getStatus());

Or you could write a function that returns an array value:

$a = my_array_value($user->getStatus(),'keyName');
Written by AndreKR
This page was build to provide you fast access to the question and the direct accepted answer.
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki