Doc #65221 [Opn->Csd]: Does not adequately explain nature of how list retrieves values from an array

From: Date: Sat, 25 Jun 2016 16:12:17 +0000
Subject: Doc #65221 [Opn->Csd]: Does not adequately explain nature of how list retrieves values from an array
References: 1  Groups: php.doc.bugs 
Request: Send a blank email to doc-bugs+get-13613@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=65221&edit=1 ID: 65221 Updated by: cmb@php.net Reported by: lucas at threeamdesign dot com Summary: Does not adequately explain nature of how list retrieves values from an array -Status: Open +Status: Closed Type: Documentation Problem Package: Documentation problem PHP Version: Irrelevant -Assigned To: +Assigned To: cmb Block user comment: N Private report: N New Comment: This bug has been fixed in the documentation's XML sources. Since the online and downloadable versions of the documentation need some time to get updated, we would like to ask you to be a bit patient. Thank you for the report, and for helping us make our documentation better. Previous Comments: ------------------------------------------------------------------------ [2016-06-25 16:10:17] cmb@php.net Automatic comment from SVN on behalf of cmb Revision: http://svn.php.net/viewvc/?view=revision&amp;revision=339494 Log: Fix #65221: Does not adequately explain nature of how list retrieves values from an array ------------------------------------------------------------------------ [2013-07-10 04:02:03] lucas at threeamdesign dot com dot au What's the benefit of breaking the current functionality? I don't think it behaves in an implementation-specific way now, so it shouldn't in the future. It'd be better to show the example with array_values() as well: <?php $foo = array(2 => 'a', 'foo' => 'b', 0 => 'c'); $foo[1] = 'd'; var_dump($foo); echo PHP_EOL; list($x, $y, $z) = $foo; var_dump($x, $y, $z); echo PHP_EOL; list($x, $y, $z) = array_values($foo); var_dump($x, $y, $z); ?> produces: array(4) { [2]=> string(1) "a" ["foo"]=> string(1) "b" [0]=> string(1) "c" [1]=> string(1) "d" } string(1) "c" string(1) "d" string(1) "a" string(1) "a" string(1) "b" string(1) "c" ------------------------------------------------------------------------ [2013-07-09 23:38:12] cmbecker69 at gmx dot de It seems to me that the proposed description might be an overspecification of the functionality. According to <http://php.net/function.list>: | list() only works on numerical arrays and assumes | the numerical indices start at 0. Anything else might be regarded as depeding on the implementation, and might change in a future release. ------------------------------------------------------------------------ [2013-07-09 06:42:30] lucas at threeamdesign dot com dot au Sorry, missed that note. I'm sure many others have and will. I still think it needs the example. ------------------------------------------------------------------------ [2013-07-09 04:28:27] gabri dot ns at gmail dot com it is already mentioned in a note at the bottom of the page. still, its true that it would be better if thus note moved up at the main description. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=65221 -- Edit this bug report at https://bugs.php.net/bug.php?id=65221&edit=1

« previous php.doc.bugs (#13613) next »