Поиск значений с '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() принимает два основных параметра: искомое значение и массив, в котором нужно произвести поиск. Поскольку она возвращает логическое значение (boolean), она отлично работает с условными операторами, такими как if, и циклами while.
Эта функция особенно полезна для задач валидации, таких как проверка соответствия пользовательского ввода одному из нескольких допустимых вариантов, проверка наличия товара в корзине или предотвращение добавления дубликатов в список.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Задание
ЛегкоВы получите два входных значения: массив доступных цветов в формате JSON и название цвета для поиска. Прочитайте оба входных значения, преобразуйте строку JSON в массив, используйте in_array(), чтобы проверить, существует ли цвет в массиве, и выведите "Color available", если он найден, или "Color not available", если нет.
Формат входных данных: Две строки — первая строка содержит массив JSON (пример: ["red","blue","green","yellow"]), вторая строка содержит название цвета для поиска
Ожидаемый результат: Либо "Color available", либо "Color not available" в зависимости от того, присутствует ли цвет в массиве
Шпаргалка
Функция in_array() ищет значение в массиве и возвращает true, если оно найдено, и false в противном случае.
Синтаксис:
in_array($value, $array)Пример:
<?php
$existingUsers = ["alice", "bob", "charlie"];
$newUsername = "bob";
if (in_array($newUsername, $existingUsers)) {
echo "Username already taken!";
} else {
echo "Username available!";
}
// Вывод: Username already taken!
?>Функция отлично работает с условными операторами и обычно используется для задач валидации, таких как проверка прав пользователей, предотвращение дубликатов или проверка разрешенных опций.
Попробуйте сами
<?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'Итоги: Сортировка таблицы лидеров