Както откривам, много от тези помощни функции са наистина необходими, защото PHP не е строго въведен. Публикувах подобен въпрос (макар и не толкова подобно) за isset по-рано тази седмица. Едно нещо, което трябва да се отбележи, е, че PHP ще промени низа ви на целочислената му стойност за сравнения по време на някои случаи (когато има смесени типове). Това не може да се пренебрегне. Мисля, че това е силен аргумент за is_numeric
от Ръководство за PHP
Ако сравните число с низ или сравнението включва числови низове, тогава всеки низ се преобразува в число и сравнението се извършва числено. Тези правила се прилагат и за оператора switch. Преобразуването на типа не се извършва, когато сравнението е === или !==, тъй като това включва сравняване на типа, както и на стойността.
Друго нещо, за което трябва да помислите, е "какво е 0" в PHP. Означава много. Не винаги е числово. Може да е числов низ, булево невярно, цяло число и т.н... Ето защо съществуват тези помощни функции.
За да добавя към отговора си:
променете примера си:
$whatami='beast';
($whatami<5) ? echo 'less than 5' : echo 'more than 5';
PHP ще промени „звяр“ на неговия еквивалент на цяло число и след това ще направи сравнението. Това би дало нежелани резултати. Ако наистина искате нещо подобно, ще трябва да го обвиете в друго условие:
$whatami='beauty';
if(is_numeric($whatami){
($whatami<5) ? echo 'less than 5' : echo 'more than 5';
} else {
exit('what, am I not pretty enough for a beast?');
}
Тогава ще получите желания резултат (колкото и странно да е).
person
TCCV
schedule
23.07.2010
($var<0)
само не проверява дали даден вход е положително число или нещо различно от това. - person ina   schedule 23.07.2010