PHP. Пагубный in_array()


Всем известна функция in_array (PHP 4, PHP 5). Которая проверяет, присутствует ли элемент в массиве и возвращает TRUE если есть или FALSE если такого элемента в массиве нету.

Функция иногда очень полезна, но бывают такие случаи когда нужно пройтись по массиву с огромным количеством элементов и тогда начинаются проблемы с временем выполнения этой функции.

Замечено, что лучше сделать дополнительный запрос с базы и получить лишние десятки тысяч записей, нежели проверить функцией in_array не получал ли этих данных по такому id ранее. Конечно такое редко встречается, но когда стоит выбор: проверить есть ли уже данные по такому id или просто получить их с базы еще раз – то лучше выбрать второе.

,

1 Star2 Stars3 Stars4 Stars5 Stars (голосов 5, в среднем: 4.00 из 5)
Loading ... Loading ...


  1. #1 joomla - Июль 31st, 2010 at 23:05

    Я думаю все зависит от того, что вы хотите пощадить PHP или MySQL :)

  2. #2 nice - Август 1st, 2010 at 07:56

    Возможно и так, но в моем случае с PHP работало на мого дольше…

  3. #3 Drupaler - Январь 8th, 2012 at 23:55

    А если просто пребрать массив?Думаю это снизит нагрузку на пхп и не придется нагружать БД.

(will not be published)

Spam Protection by WP-SpamFree Plugin

  1. No trackbacks.