Bug #10203 Updated: foreach weakness
| From: | yohgaki@php.net | Date: | Tue, 29 Jan 2002 01:45:41 +0000 |
| Subject: | Bug #10203 Updated: foreach weakness | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-78388@lists.php.net to get a copy of this message | ||
ID: 10203
Updated by: yohgaki
Reported By: jack@mobil.cz
Old Status: Open
Status: Closed
Bug Type: Feature/Change Request
Operating System: all
PHP Version: 4.0.4pl1
New Comment:
foreach ($arr as $key => $val)
Previous Comments:
------------------------------------------------------------------------
[2001-04-11 11:17:31] jack@mobil.cz
sure, I know I could use this way but I don't find it nice at all.
------------------------------------------------------------------------
[2001-04-06 14:42:55] torben@php.net
It's for someone else to decide whether to add this to
the language, but until they do you can achieve the same
effect with:
$arr = array(array(1, 2), array(3, 4));
foreach ($arr as $narr) {
list($a, $b) = array_values($narr);
echo "$a, $b\n";
}
BTW--it would have helped if you had explained what
results you were after and not just the syntax you wanted. ;)
------------------------------------------------------------------------
[2001-04-06 07:54:29] jack@mobil.cz
no, 'list' should assign an array to a list of variables.
$arr = array(array(1, 2), array(3, 4));
foreach ($arr as list($a, $b))
echo "$a $b\n";
------------------------------------------------------------------------
[2001-04-06 07:19:30] hholzgra@php.net
and what should it do?
i guess you want to have key and value in one step?
this is done by the foreach($array as $key => $value)
construct, does that satisfy your needs?
------------------------------------------------------------------------
[2001-04-06 06:53:12] jack@mobil.cz
hello
foreach ($array as list($a, $b))
;
won't work. is there any hope this will change in future?
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=10203&edit=1