Bug #67608 [Opn->Nab]: PHP Bug when reusing variables by references
| From: | aharvey@php.net | Date: | Fri, 11 Jul 2014 17:00:25 +0000 |
| Subject: | Bug #67608 [Opn->Nab]: PHP Bug when reusing variables by references | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-186570@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=67608&edit=1
ID: 67608
Updated by: aharvey@php.net
Reported by: rafavega at gmail dot com
Summary: PHP Bug when reusing variables by references
-Status: Open
+Status: Not a bug
Type: Bug
Package: *General Issues
Operating System: Debian, MacOS
PHP Version: 5.5.14
Block user comment: N
Private report: N
New Comment:
Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to
report
a bug at http://bugs.php.net/how-to-report.php
This is unfortunate, but documented and expected behaviour.
Previous Comments:
------------------------------------------------------------------------
[2014-07-11 15:21:59] rafavega at gmail dot com
Description:
------------
What this code should do, is to take the $lines array and delete the 2B value, but it doesnât
work like that, and is because it get crash when you use the $items variable in the second foreach
and you already used it as a referece variable, even if you clean the $items variable with an empty
array as you see in the code.
Just if you change the name or the $items variable in the second foreach it works fine.
Test script:
---------------
$lines = array(
'1' => array(
'1A'
),
'2' => array(
'2A',
'2B',
'2C'
)
);
foreach($lines as &$items){
foreach($items as $key => $value){
if($value=='2B') unset($items[$key]);
}
}
$items = array();
foreach($lines as $key => $items){
print_r($items);
}
Expected result:
----------------
array(
'1A'
)
array(
'2A',
'2C'
)
Actual result:
--------------
array(
'1A'
)
array(
'1A'
)
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=67608&edit=1