PHP intval 与 floatval

php中是弱类型语言,在是使用intval 和 floatval 判断变量或者是进行类型转换时,php会进行类型转换;

1 var_dump(intval('abc') == 0); //true
2 var_dump('abc' == 0); //true
3 var_dump('' == 0); //true
4 var_dump(null == 0); //true

所以,在使用intval 和 floatval 时要特别注意,建议使用下面方式:

 1    /**
 2      *
 3      *
 4      * @param $num
 5      * @return bool|int
 6      */
 7     function intval($num)
 8     {
 9         if(is_numeric($num) && intval($num) == $num){
10             return intval($num);
11         } else {
12             return false;
13         }
14     }
15 
16     /**
17      *
18      * @param $float
19      * @return bool|int
20      */
21     function floatval($float){
22         if(is_numeric($float) && floatval($float) == $float){
23             return floatval($float);
24         } else {
25             return false;
26         }
27     }

 

posted @ 2015-12-17 15:31  devw  阅读(926)  评论(0编辑  收藏  举报