|
Тема |
Промяна в array_search() - липсва в ChangeLog-а! |
|
Автор |
Dakota (отверт) |
|
Публикувано | 29.05.02 11:54 |
|
|
При неуспех функцията вече връща false, вместо досегашното null. Това се отнася за версии след 4.2.0 и незнайно защо не е отразено в changelog-а, а е доста голяма промяна. По принцип може и да не го усетите, но при мен имаше много сериозни последствия...и разни други познати също изпищяха. Така че е препоръчително да разровите кода си за array_search(). Най-добрият начин да се използва функцията е следния:
$key = array_search($needle, $array);
if ($key!==null&&$key!==false) {
...
}
Проверка от типа if ($key = array_search($needle, $array)) ще изгърми ако търсената стойност е първа в масива - т.е. с индекс 0. Единственият случай, когато е безопасно, е когато индексите на масива са auto_increment primary key полета от база данни...които не могат да бъдат 0. Това го казвам за всички, които обичат Perl или които се кефят да пишат нещата на един ред...между които съм и аз.
"Животът е това, което се случва с нас, докато правителството си прави реформата."
|
| |
|
|
|