Всю голову сломал, но понять не могу.
встретил вопрос "что выведет данный код и почему?":
<?php
$arr = array(1, 2, 3, 4);
foreach ($arr as &$item) {
echo $item;
}
foreach ($arr as $item) {
echo $item;
}
вывело естессно 1234 1233
начал думать.. не понял. сделал var_dump - последний элемент ссылка на предпоследний. добавил в инициализацию строковый элемент - все равно ссылка на число, добавил еще один строковый - ссылка на предыдущую строку...
$arr=array(1,2,3,4,'5');
var_dump дает
array(5) {
[0]=>
int(1)
[1]=>
int(2)
[2]=>
int(3)
[3]=>
int(4)
[4]=>
&int(4)
}
всегда юзал массивы и не задумывался над этим ньюансом, сейчас страшно стало.. почему такая ерунда происходит??? что бы получить точное содержимое при переборе, надо брать элементы по ссылке?? :blink: