Menu
Coddy logo textTech

Поиск значений с 'in_array'

Часть раздела Логика и управление потоком путешествия по PHP на Coddy. Урок 17 из 68.

Когда нужно проверить, существует ли определённое значение в массиве, функция PHP in_array() предоставляет идеальное решение. Эта функция выполняет поиск в массиве и возвращает логическое значение: true, если значение найдено, или false, если оно не найдено.

Вот базовый синтаксис:

<?php
$existingUsers = ["alice", "bob", "charlie"];
$newUsername = "bob";

if (in_array($newUsername, $existingUsers)) {
    echo "Username already taken!";
} else {
    echo "Username available!";
}
// Выводит: Username already taken!
?>

Функция in_array() принимает два основных параметра: значение, которое вы ищете, и массив, в котором выполняется поиск. Поскольку она возвращает логическое значение, она идеально подходит для условных операторов, таких как if, и циклов while.

Эта функция особенно полезна для задач проверки, например для проверки того, соответствует ли пользовательский ввод одному из нескольких разрешённых вариантов, проверки того, существует ли элемент already в корзине покупок, или обеспечения того, чтобы дублирующиеся записи не добавлялись в список.

challenge icon

Задание

Легко

Вы получите два входных значения: массив доступных цветов в формате JSON и название цвета для поиска. Прочитайте оба входных значения, преобразуйте строку JSON в массив, используйте in_array(), чтобы проверить, существует ли цвет в массиве, и выведите "Color available", если он найден, или "Color not available", если он не найден.

Формат ввода: Две строки — первая строка содержит массив JSON (пример: ["red","blue","green","yellow"]), вторая строка содержит название цвета для поиска

Ожидаемый вывод: Либо "Color available", либо "Color not available" в зависимости от того, существует ли цвет в массиве

Попробуйте сами

<?php
// Читаем JSON-массив цветов
$jsonInput = fgets(STDIN);
$colors = (array)json_decode($jsonInput, true);

// Читаем цвет для поиска
$searchColor = trim(fgets(STDIN));

// TODO: Напишите ваш код ниже, чтобы проверить, существует ли цвет в массиве

// Выводим результат
echo $result;
?>
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Онлайн-компилятор PHP