«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как определить, содержит ли массив все значения из другого массива, используя array_diff?

Как определить, содержит ли массив все значения из другого массива, используя array_diff?

Опубликовано 18 ноября 2024 г.
Просматривать:540

How to Determine if an Array Contains All Values from Another Array using array_diff?

Использование array_diff для проверки включения значений массива

Определение того, содержит ли массив все значения из другого массива, является распространенной задачей программирования. Рассмотрим следующий пример:

Даны массивы $all и $search_this, определенные как:

$all = array
(
    0 => 307,
    1 => 157,
    2 => 234,
    3 => 200,
    4 => 322,
    5 => 324
);
$search_this = array
(
    0 => 200,
    1 => 234
);

Мы стремимся проверить, включает ли $all все элементы, присутствующие в $search_this.

Использование array_diff для эффективного сравнения

Для достижения этой цели Для сравнения наиболее эффективным подходом является использование функции array_diff, которая возвращает массив элементов, найденных в первом массиве, но не найденных во втором. Применяя это к нашему случаю, мы можем определить, содержит ли $all все значения из $search_this.

$containsAllValues = !array_diff($search_this, $all);

Если результирующий массив пуст (т. е. не найдено никакой разницы), это означает, что $all содержит все значения из $search_this. В результате для $containsAllValues ​​будет установлено значение true. В противном случае оно будет ложным. Этот метод эффективно решает проблему с минимальной сложностью и простой реализацией.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3