Массив поиска: array_filter vs loop

Я действительно новичок в PHP и нуждаюсь в предложении о поиске массива.

Если я хочу искать элемент внутри многомерного массива, я могу либо использовать array_filter либо я могу пройти через массив и посмотреть, присутствует ли элемент, соответствующий моим критериям.

Я вижу оба предложения во многих местах. Что быстрее? Ниже приведен пример массива.

 Array ( [0] => Array ( [id] => 4e288306a74848.46724799 [question] => Which city is capital of New York? [answers] => Array ( [0] => Array ( [id] => 4e288b637072c6.27436568 [answer] => New York [question_id_fk] => 4e288306a74848.46724799 [correct] => 0 ) [1] => Array ( [id] => 4e288b63709a24.35955656 [answer] => Albany [question_id_fk] => 4e288306a74848.46724799 [correct] => 1 ) ) ) ) 

Я ищу вот так.

 $thisQuestion = array_filter($pollQuestions, function($q) { return questionId == $q["id"]; }); 

array_filter

Итерации по каждому значению в входном массиве передают их функции обратного вызова. Если функция обратного вызова возвращает значение true, текущее значение из ввода возвращается в массив результатов. Клавиши массива сохраняются.

как для меня такой же.

Я знаю, вопрос старый, но я не согласен с этим ответом. Мне также было интересно, была ли разница между циклом foreach() и array_filter() и была найдена следующая запись:

http://www.levijackson.net/are-array_-functions-faster-than-loops/

Леви Джексон отлично справился и сравнил скорость нескольких функций цикла и array_*() . По его словам, цикл foreach() быстрее, чем array_filter() . Хотя в основном это не так сильно отличается, это начинает иметь значение, когда вам приходится обрабатывать много данных.