Задать вопрос
lina666
@lina666
Изучаю веб ЯП.

Как работает функция in_array?

var_dump(in_array("text", [0,1]));
Объясните пожалуйста почему данный код выдает bool(true), особенно почему in_array возвращает true на не существующий элемент в массиве, или я в чем то ошибаюсь?
  • Вопрос задан
  • 146 просмотров
Подписаться 2 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 2
villiwalla
@villiwalla
HTML-верстка
Потому что в массиве доя поиска у тебя булево 0 - false, 1 - true. Не пустая искомая строка равна 1 иначе true. Используй флаг сравнения по типам.
Ответ написан
Комментировать
xEpozZ
@xEpozZ
Веб-разработчик
in_array — Проверяет, присутствует ли в массиве значение

https://www.php.net/manual/ru/function.in-array.php

А по вашему кейсу - хз, используйте всегда 3-й параметр strict

var_dump(in_array("text", [0,1], true));
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
или я в чем то ошибаюсь?
ну, для начала в типах, строки с цифрами в неявном виде сравниваете, плохо понимая как работает неявное приведение типов. Хотите четкое сравнение - укажите модификатор третьим аргументом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽