Поиск значений с '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 в корзине покупок, или обеспечения того, чтобы дублирующиеся записи не добавлялись в список.
Задание
ЛегкоВы получите два входных значения: массив доступных цветов в формате 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;
?>В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Логика и управление потоком
1Продвинутые функции
Анонимные функцииЗамыкания и 'use'Стрелочные функцииCallback-функцииИспользование 'call_user_func'Функции переменныхПередача по ссылкеРекурсивные функцииИтоги: ассорти из функций4Многомерные массивы
Создание 2D-массиваДоступ к элементам 2D-массиваИзменение элементов 2D-массиваИтерация с вложенными цикламиДвумерные ассоциативные массивыИтоги: Упражнение «Простая сетка»2Продвинутая работа с массивами
Добавление с помощью 'array_push'Удаление с помощью 'array_pop'Добавление с помощью 'array_unshift'Удаление с помощью 'array_shift'Слияние индексных массивовСлияние ассоциативных массивовИзвлечение с помощью 'array_slice'Поиск значений с 'in_array'Поиск ключей с 'array_search'Итоги: Упражнение «Плейлист»3Сортировка массивов
Сортировка индексных массивов по возрастаниюСортировка индексных массивов по убываниюСортировка ассоциативных массивов по значениюСортировка ассоциативных массивов по ключуСортировка в естественном порядкеПользовательская сортировка с помощью 'usort'Итоги: Сортировка таблицы лидеровПотренируйтесь самостоятельно: Онлайн-компилятор PHP