Элегантный способ поиска в массиве PHP с использованием пользовательской функцииPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Элегантный способ поиска в массиве PHP с использованием пользовательской функции

Сообщение Anonymous »

По сути, я хочу получить функциональность find_if() в C++, обнаружение в Smalltalk: и т. д.:

Код: Выделить всё

// 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)
//...
Обратной стороной этого является то, что цель кода не сразу ясна. Кроме того, он не прекратит перебор массива, даже если элемент был найден, хотя это скорее придирка (если набор данных достаточно велик, чтобы вызвать проблемы, линейный поиск в любом случае не будет ответом)

Подробнее здесь: https://stackoverflow.com/questions/142 ... d-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»