|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2005-11-30 12:54 UTC] tony2001@php.net
[2005-11-30 13:19 UTC] vma1 at abv dot bg
[2005-11-30 13:23 UTC] vma1 at abv dot bg
[2005-11-30 13:30 UTC] tony2001@php.net
[2005-11-30 13:35 UTC] vma1 at abv dot bg
[2005-11-30 14:01 UTC] sniper@php.net
[2005-11-30 14:05 UTC] vma1 at abv dot bg
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Fri Nov 28 17:00:01 2025 UTC |
Description: ------------ When using foreach($arr as $index => &$item), the $item reference does not always allow a modification of the referenced element. Reproduce code: --------------- <? $items = array (array (1), array (1)); foreach ($items as $index => &$one_item) { printf ("C1 IDENTICAL: %u\n", $items [$index] === $one_item); each ($items [$index]); printf ("C2 IDENTICAL: %u\n", $items [$index] === $one_item); $one_item = 678; printf ("C3 IDENTICAL: %u\n", $items [$index] === $one_item); } ?> Expected result: ---------------- C1 IDENTICAL: 1 C2 IDENTICAL: 1 C3 IDENTICAL: 1 C1 IDENTICAL: 1 C2 IDENTICAL: 1 C3 IDENTICAL: 1 Actual result: -------------- C1 IDENTICAL: 1 C2 IDENTICAL: 1 C3 IDENTICAL: 1 C1 IDENTICAL: 1 C2 IDENTICAL: 1 C3 IDENTICAL: 0