Philip Olson wrote: >>> $foo = array('a' => 'apple', 'b' => 'banana'); >>> >>> // Notice - Undefined offset: 1 >>> // Notice - Undefined offset: 0 >>> list($a,$b) = $foo; >> >>Isn't this line should be >> >>list($a, $b) = array_keys($foo); >>or >>list($a, $b) = array_values($foo); > > > Sure that works. > > >>I might miss you point, since it seems we are >>going to make these feature requests bogus. > > > Why? list() working with associative arrays > seems bogus to you? Please be specific as to > why this is bad. Why is requiring keys indices > to begin at 0 good or necessary? I can't think > of a case where this will be bad for a php user. > Imho it's intuitive.
I'm still not sure what the result should be.... valus, keys, key=>value, or else. > Sure it's not a major deal and more pressing > needs exist but hey, what can I say. :) Since we have following syntax list($ret_val1, $ret_val2) = some_function(); It sounds like a good idea to support following syntax for consistency. list($value_of_elem1, $value_of_elem2) = $foo; We need to consider how to handle assoc array. Following script works, <?php function foo() { return array('a', 'b'); } list($a, $b) = foo(); echo $a.$b; ?> But this one does not, <?php function foo() { return array('a'=>'A', 'b'=>'B'); } list($a, $b) = foo(); echo $a.$b; ?> -- Yasuo Ohgaki -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php