<?php
$arr = array(1, 2, 3, 4, 5);
$sizeOf = sizeof($arr);
for ($i = 0; $i < $sizeOf; $i++) {
$row =& $arr[$i];
$row = $row * $row;
}
print_r($arr);
foreach ($arr as $row){}
echo '<BR>';
print_r($arr);
?>
<?php
$arr = array(1, 2, 3, 4, 5);
$sizeOf = sizeof($arr);
for ($i = 0; $i < $sizeOf; $i++) {
$row =& $arr[$i];
$row = $row * $row;
}
//в этой точке $row - указатель на последний элемент массива
print_r($arr);
foreach ($arr as $row){
/*последовательно $row (указателю на последний элемент массива) присваевается каждый елемент массива. В предпоследнем цикле $row получает значение 16, а последний цикл - получает свое же значение (16)*/
}
echo '<BR>';
print_r($arr);
?>
$row остается указателем на $arr[4]$arr[4] остается указателем на $row
Да, стормозил.$row остается указателем на $arr[4]
Инкримент для неопределенной переменной равен 1. Это нормально.unset($i);
echo ++$i; // 1
Декремент для неопределенной переменной равен 0. Это не нормально. Ожидалось -1unset($i);
echo --$i; // 0
Спасибо вам!young, топик по "непонятному программированию"
Здесь бага нетPHP:<?php $arr = array(1, 2, 3, 4, 5); $sizeOf = sizeof($arr); for ($i = 0; $i < $sizeOf; $i++) { $row =& $arr[$i]; $row = $row * $row; } //в этой точке $row - указатель на последний элемент массива print_r($arr); foreach ($arr as $row){ /*последовательно $row (указателю на последний элемент массива) присваевается каждый елемент массива. В предпоследнем цикле $row получает значение 16, а последний цикл - получает свое же значение (16)*/ } echo '<BR>'; print_r($arr); ?>