Hi internals, please consider:
<?php print PHP_VERSION . "\n"; $a = array('a', 'b'); foreach ($a as &$ref) ; $b = $a; $a[0] = '*'; print_r($b); ?> Result: 5.2.0 Array ( [0] => * [1] => b ) Same with 5.1.4 and 5.1.6. I suppose that using foreach and referencing the values turns the elements in $a into references, $b is a copy of the array containing *references* and thus chaning the value of the first element in $a is visible in $b because both arrays reference the the same value? When moving the $b assignment before the foreach, everything works as expected. Is this really intended behaviour? Kind regards, mp. -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php