Doc #65221 [Opn->Csd]: Does not adequately explain nature of how list retrieves values from an array
| From: | cmb@php.net | 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&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