|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2008-03-29 19:48 UTC] felipe@php.net
[2008-04-01 16:45 UTC] kurt at surfmerchants dot com
[2008-04-01 16:56 UTC] felipe@php.net
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 20:00:01 2025 UTC |
Description: ------------ When returning an array element from a function by reference, if the element key does not exist, the element key is added. Reproduce code: --------------- class simple { var $items = array(); function &getItem($name) { return $this->items[$name]; } } $obj = new simple(); print "Keys before getting item:\n".print_r(array_keys($obj->items), TRUE)."\n"; $retrieved =& $obj->getItem('SHOULD_NOT_EXIST'); print "Retrieved: \n"; var_dump($retrieved); print "Keys after getting item:\n".print_r(array_keys($obj->items), TRUE)."\n"; Expected result: ---------------- Keys before getting item: Array ( ) Retrieved: NULL Keys after getting item: Array ( ) Actual result: -------------- Keys before getting item: Array ( ) Retrieved: NULL Keys after getting item: Array ( [0] => SHOULD_NOT_EXIST )