您的位置 首页 php

php中is_int就是一个坑,建议用正则表达式替代

php中is_int就是一个坑,建议用正则表达式替代。

看看下面几个算式,你知道正确答案吗?

$aaaa=442;

$bbbb=’442′;

var_dump(is_int(442));

echo'<br>’;

var_dump(is_int(4.42));

echo'<br>’;

var_dump(is_int(‘442’));

echo'<br>’;

var_dump(is_int(‘4.42’));

echo'<br>’;

var_dump(is_int($aaaa));

echo'<br>’;

var_dump(is_int($bbbb));

差别就是,在验证之前,该类型是不是数字。理论上数字 字符串 应该转化为数字,返回true,答案如下:

看到了吗?

只有在判断函数的值确切为数字的时候,才能发挥true;而在实际编程中,表单传递时,大部分情况下,变量都不小心加上了引号,调试中的错误,就非常难以发现了。今天丘孔语论废了四个小时才找打问题所在,只好用正则表达式搞定了。

看看正则表达式的解决方案:

$aaaa=442;

$bbbb=’442′;

var_dump(preg_match(‘/^\d+$/’,442));

echo'<br>’;

var_dump(preg_match(‘/^\d+$/’,4.42));

echo'<br>’;

var_dump(preg_match(‘/^\d+$/’,’442′));

echo'<br>’;

var_dump(preg_match(‘/^\d+$/’,’4.42′));

echo'<br>’;

var_dump(preg_match(‘/^\d+$/’,$aaaa));

echo'<br>’;

var_dump(preg_match(‘/^\d+$/’,$bbbb));

让我们看看输出结果,这才是我们再判断中大部分情况下想要的结果:

希望我的分享能够解决你正好遇到的问题。

更多交流加我微信公众号:丘孔语论  或者头条号:天天济南

转载请保留上面信息。

文章来源:智云一二三科技

文章标题:php中is_int就是一个坑,建议用正则表达式替代

文章地址:https://www.zhihuclub.com/150761.shtml

关于作者: 智云科技

热门文章

网站地图