Всем известна функция in_array (PHP 4, PHP 5). Которая проверяет, присутствует ли элемент в массиве и возвращает TRUE если есть или FALSE если такого элемента в массиве нету.
Функция иногда очень полезна, но бывают такие случаи когда нужно пройтись по массиву с огромным количеством элементов и тогда начинаются проблемы с временем выполнения этой функции.
Замечено, что лучше сделать дополнительный запрос с базы и получить лишние десятки тысяч записей, нежели проверить функцией in_array не получал ли этих данных по такому id ранее. Конечно такое редко встречается, но когда стоит выбор: проверить есть ли уже данные по такому id или просто получить их с базы еще раз – то лучше выбрать второе.

#1 - Июль 31st, 2010 at 23:05
Я думаю все зависит от того, что вы хотите пощадить PHP или MySQL :)
#2 nice - Август 1st, 2010 at 07:56
Возможно и так, но в моем случае с PHP работало на мого дольше…