Использование 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