Опрос по использованию isset() vs array_key_exists(), foreach vs array_reduce()

rebob

Новичок
Привет!
Насколько целесообразно использовать ту или иную конструкцию с точки зрения производительности и так сказать "правильности" ее в определенном контексте?
isset() vs array_key_exists()
Здесь я так понимаю будет прирост при использовании isset(), но бывают ситуации когда надо array_key_exists() для получения элемента массива с значением null. Кроме того плагин phpstorm с названием php inspections(ea extended) постоянно выдает предупреждения на использование isset() с массивами.
Так же инетересует мнение сообщества по поводу foreach vs array_map() / array_walk() / array_walk_recursive() / array_filter(). Будет ли припрост производительности при предпочтении этих функиций конструкции foreach?

С ув. Rebob.
 

fixxxer

К.О.
Партнер клуба
бывают ситуации когда надо array_key_exists() для получения элемента массива с значением null
ну вот, ты сам ответил на вопрос

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

rebob

Новичок
Наткнулся на вот это:
http://stackoverflow.com/questions/2473989/list-of-big-o-for-php-functions/2484455#2484455

Провел измерения. http://codepad.viper-7.com/u0dMSR
Код:
1. Walk array and change values
array_walk ... 1.4210 sec
array_walk_list_each ... 0.0250 sec
array_walk_foreach ... 1.7030 sec
array_walk_foreach_by_value ... 1.5569 sec

2. Walk array and do multiplication of elements
array_map ... 0.9687 sec
array_map_list_each ... 2.1485 sec
array_map_list_each_by_value ... 2.1001 sec
array_map_foreach ... 1.3259 sec
array_map_foreach_by_value ... 1.2158 sec

3. Walk array and sum the elements
array_reduce ... 1.0192 sec
array_reduce_foreach ... 1.2982 sec
array_reduce_list_each ... 2.0742 sec

4. Walk array and filter even elements
array_filter ... 0.8124 sec
array_filter_list_each ... 1.9565 sec
array_filter_foreach ... 1.1632 sec
Что скажете?
 
Сверху