请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

自定义规则的验证,参数+0问题

 protected function checkName($value = '', $rule = '', $data = '', $field = '')  
  {/*      
  这里注意,$value值默认传过来是字符串,is_int只能判断是否是整数,必须要将$value值转化为整形才
  能判断 php内置,字符串和整形相加,转化为整形,为了值不变,所以加了0*/
       if (is_numeric($value) && is_int($value+0) && ($value+0) > 0) 
       {           
           return true;       
           } else {  
           throw new Exception($field . '必须是整数');       
           }   
       }

这里有几个参数加了0 ,不加0就会报错,老师我的理解对吗?is_int对于需要判断的参数有特殊性,一定要是数字型才可以判断?

正在回答 回答被采纳积分+3

1回答

liucsoft 2017-09-25 11:30:34

“+0”应该是强制转换成数值型

0 回复 有任何疑惑可以回复我~
  • 提问者 qq_大寒_2 #1
    对啊,不强制转换就会报错,所以is_int只能判断数字型的参数,不能判断字符串其他类型的,对于is_int文档也没具体说明参数是否只能是数字型,
    回复 有任何疑惑可以回复我~ 2017-09-25 12:58:09
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信