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() принимает два основных параметра: искомое значение и массив, в котором нужно произвести поиск. Поскольку она возвращает логическое значение (boolean), она отлично работает с условными операторами, такими как if, и циклами while.

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

quiz iconПроверьте себя

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

quiz iconПроверьте себя

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

quiz iconПроверьте себя

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

challenge icon

Задание

Легко

Вы получите два входных значения: массив доступных цветов в формате 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;
?>
quiz iconПроверьте себя

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

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