В php foreach оставить только те значения, которые встречаются только один раз
Как в php foreach оставить только те значения, которые встречаются только один раз?
Для примера, если в foreach выводится такой результат:
Array ( [0] => 21 ), то истина.
Если:
Array ( [0] => 21 [1] => 21 [2] => 20 ), то истина.
Если:
Array ( [0] => 21 [1] => 21 [2] => 20 [3] => 20), то ложь.
Если:
Array ( [0] => 21 [1] => 21 [2] => 20 [3] => 20 [4] => 25 ), то истина.
Если:
Array ( [0] => 21 [1] => 21 [2] => 20 [3] => 20 [4] => 25 [5] => 25 ), то ложь.
и т.д.
Ответы (1 шт):
Автор решения: Алексей Шиманский
→ Ссылка
$countValues = array_count_values($array);
$result = count(array_filter($countValues, function($item) {
return $item === 1;
})) > 0;
В $result будет true если был найден хотя бы один элемент, который всетрчается единожды в массиве, в ином случа false