概述
正如我已经发现的那样,很多这些辅助函数确实是必要的,因为
PHP不是强类型的.本周早些时候我发布了一个
similar question(尽管不是那么相似).需要注意的一点是,在某些情况下(当存在混合类型时),PHP会将您的字符串更改为其整数值以进行比较.这不容忽视.我认为这是is_numeric的一个强有力的案例
If you compare a number with a string
or the comparison involves numerical
strings, then each string is converted
to a number and the comparison
performed numerically. These rules
also apply to the switch statement.
The type conversion does not take
place when the comparison is === or
!== as this involves comparing the
type as well as the value.
要考虑的另一件事是PHP中的“0是什么”.那意义重大.它并不总是数字.它可能是数字字符串,布尔值false,整数等…这就是存在这些辅助函数的原因.
要添加到我的答案:
改变你的榜样:
$whatami='beast';
($whatami<5) ? echo 'less than 5' : echo 'more than 5';
PHP会将’beast’更改为等效的整数,然后进行比较.这会产生意想不到的结果.如果你真的想要类似的东西,你必须用另一个条件包装它:
$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?');
}
然后你会得到你想要的结果(尽可能奇怪).
最后
以上就是悦耳石头为你收集整理的php限制必须为正数,PHP – 必须使用is_numeric(),还是可以使用比较符号来处理所有正数字情况?...的全部内容,希望文章能够帮你解决php限制必须为正数,PHP – 必须使用is_numeric(),还是可以使用比较符号来处理所有正数字情况?...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复