Есть такая малоизвестная большинству программистов вообще и программистов на пхв в частности как ссылки. И вот я решил открыть для себя новое и выполнил невероятно сложный и запутанынй кусок кода:
< ?php
$a = array(1,2);
foreach($a as &$v) {
$v = abs((int)$v);
}
var_dump($a);
И получил совершенно неожиданный для себя результат:
array(2) {
[0]=>
int(2)
[1]=>
&int(3)
}
Оказалось мой любимый пхп засунул в последний элемент массива ссылку на последний элемент массива. Спасибо, пхп! Писать следует вот так:
< ?php
$a = array(1,2);
foreach($a as &$v) {
$v = abs((int)$v);
}
unset($v);
var_dump($a);
2011.07.05 12:53