dr-sm
Новичок
PHP 5.2.5 - foreach by reference bug?
нижеприведенный код, у меня работает неверно, с моей точки зрения.
скажите я что-то неправильно делаю или это баг все-таки.
если баг, то куда писать?
....
Array
(
[hookers] => 1
[blackjack] => 2
[what] => 3
[the] => 4
[fxxx] => 5
[is] => 6
[going] => 7
[on] => 7 - !!!
)
1,2,3,4,5,6,7,7,
PS извините за тупое название предыдущего топика ).
нижеприведенный код, у меня работает неверно, с моей точки зрения.
скажите я что-то неправильно делаю или это баг все-таки.
если баг, то куда писать?
PHP:
function dump($obj) {
echo '<pre>';
print_r($obj);
echo '</pre>';
}
// Step 0
$tags = array(
'hookers' => 1,
'blackjack' => 2,
'what' => 0,
'the' => 0,
'fxxx' => 0,
'is' => 0,
'going' => 0,
'on' => 0
);
dump($tags);
// Step 1
$last = 2;
// если заменить код на закомментированый то все ок
// foreach ($tags as $val => $id) {
foreach ($tags as $val => &$id) {
if ($id != 0) {
continue;
}
$id = ++$last;
// $tags[$val] = ++$last;
}
dump($tags);
// Step 3
$str = '';
// после этого цикла массив $tags изменяется!!!
foreach ($tags as $id) {
$str .= $id . ',';
}
dump($tags);
dump($str);
Array
(
[hookers] => 1
[blackjack] => 2
[what] => 3
[the] => 4
[fxxx] => 5
[is] => 6
[going] => 7
[on] => 7 - !!!
)
1,2,3,4,5,6,7,7,
PS извините за тупое название предыдущего топика ).

