On Apr 12, 2008, at 12:33 AM, Daniel Kolbo wrote:
Hello,
I want to return an array from function and reference an index all
in one line. Is this possible?
In the code below I want I want $yo to be the array(5,6).
Here is what I've tried,
function returnarray() {
return array('lose' => array(5,6), 'win' => array(9,8));
}
$yo = returnarray()['lose'];
var_dump($yo);
This yields a parse error.
function returnarray() {
return array('lose' => array(5,6), 'win' => array(9,8));
}
$yo = {returnarray()}['lose'];
var_dump($yo);
This yields a parse error.
function returnarray() {
return array('lose' => array(5,6), 'win' => array(9,8));
}
$yo = ${returnarray()}['lose'];
var_dump($yo);
This gives notices as the result of returnarray() is being
converted to a string. $yo === NULL...not what i want.
function returnarray() {
return array('lose' => array(5,6), 'win' => array(9,8));
}
$yo = returnarray()->['lose'];
var_dump($yo);
This yields a parse error.
function returnarray() {
return array('lose' => array(5,6), 'win' => array(9,8));
}
$yo = ${returnarray()}->['lose'];
var_dump($yo);
This yields a parse error.
Thanks for your help in advance.
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
This is not possible in PHP, though you can have a Array wrapper class
function returnarray() {
return new ArrayObject( array('lose' => array(5,6), 'win' => array
(9,8)) );
}
var_dump (returnarray()->offsetGet('lose'));
or even better make you own wrapper class with __set() and __get()
methods so you can have
var_dump (returnarray()->lose);
of course only in PHP5
Bojan Tesanovic
http://www.carster.us/