В принципе, я хочу иметь возможность получить функциональность С++ find_if()
, Smalltalk detect:
и т.д.:
// would return the element or null
check_in_array($myArray, function($element) { return $elemnt->foo() > 10; });
Но я не знаю никакой функции PHP, которая делает это. Одно "приближение" я придумал:
$check = array_filter($myArray, function($element) { ... });
if ($check)
//...
Недостатком этого является то, что цель кода не сразу понятна. Кроме того, он не будет останавливать повторение массива, даже если элемент был найден, хотя это больше похоже на nitpick (если набор данных достаточно велик, чтобы вызвать проблемы, линейный поиск не будет ответом в любом случае)