Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как проверить, что все элементы массива подходят под условие

Короткий ответ

В PHP 8.4 есть array_all() и array_any():

<?php
 
$ages = [21, 34, 18];
 
var_dump(array_all($ages, fn ($age) => $age >= 18));
var_dump(array_any($ages, fn ($age) => $age > 60));

Результат:

bool(true)
bool(false)

В старых версиях

Отфильтруйте массив и сравните количество:

<?php
 
$ages = [21, 34, 18];
 
$adults = array_filter($ages, fn ($age) => $age >= 18);
 
var_dump(count($adults) === count($ages));

Результат:

bool(true)

Функции из этого ответа

  • array_all — Проверяет, подходят ли под условие все элементы.
  • array_any — Проверяет, подходит ли под условие хотя бы один элемент.
  • array_filter — Оставляет в массиве элементы, прошедшие проверку.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.