igor_ua
Новичок
Интересное поведение foreach
Объясните пожалуйста такое поведение foreach, как-то для меня это совершенно неочевидное поведение и пока не пойму почему именно так.
Результат

Спасибо.
Объясните пожалуйста такое поведение foreach, как-то для меня это совершенно неочевидное поведение и пока не пойму почему именно так.
PHP:
<?php
$a = array('a' => 1, 'b' => 2, 3);
foreach ($a as $k => $v) {
if ($k == 'a') {
echo '($k == ' . $k . ') == a'."\n";
echo $a[$k];
echo "\n----------\n";
}
}
Т.е. получается, что ключ 3го элемента при выводе == 0, но при сравнении (==) его со строкой он оказывается равен ключу первого элемента "а", при сравнении с проверкой типа (===) все становится на свои места. Где собака порылась?($k == a) == a
1
----------
($k == 0) == a
3
----------

Спасибо.