На данный вопрос уже ответили:
Добрый день! Подскажите почему цикл выводил 1 лишний элемент
$arr = array("name" => "Маша","name2" => "Паша","Генадий","Валера", "кофе",
"чай","8 утра");
foreach($arr as $key => $elem){
if($key == "name"){
echo $key." ".$elem . "<br>";
}
}
выводит: name Маша 0 Генадий
В случае, если вы сравниваете число со строкой или две строки, содержащие числа, каждая строка будет преобразована в число, и сравниваться они будут как числа. Эти правила также распространяются на оператор switch. Преобразование типов не происходит при использовании === или !== так как в этом случае кроме самих значений сравниваются еще и типы.
Поэтому
var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("10" == "1e1"); // 10 == 10 -> true
var_dump(100 == "1e2"); // 100 == 100 -> true
В вашем случае произошло сравнение 0 == 'name'
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
В backend нужно сделать регистрацию только для админа и контент-менеджераСейчас при попытке пройти по ссылке: 'регистрация нового пользователя'...
Подскажите пожалуйста почему не работает проверкаОтправляет даже пустые значения
Нужно создать свой генератор псевдослучайных чисел на PHP, который при использовании числа (сида), выдаст от 0 до 65280 (включительно) вот такие...
Делаю интернет-магазин контактных линзЗастрял на реализации функции добавления товара в корзину с РАЗЛИЧАЮЩИМИСЯ опциями, должно быть как...