0

我只是想知道为什么 php 有一个像is_int(). 文档说

测试变量是数字还是数字字符串(例如表单输入,它始终是字符串)

我确信没有人需要检查静态分配的变量的类型。所以有人请告诉我会有什么情况,这个功能is_int()真的有用吗?

4

4 回答 4

1

完整的理解解决方案....

这是代码

 <?php
  $values = array(23, "23", 23.5, "23.5", null, true, false);
  foreach ($values as $value) {
   echo "is_int(";
  var_export($value);
    echo ") = ";
       var_dump(is_int($value));
     }
       ?>

这是输出

     is_int(23) = bool(true)
     is_int('23') = bool(false)
    is_int(23.5) = bool(false) 
   is_int('23.5') = bool(false) 
     is_int(NULL) = bool(false)
    is_int(true) = bool(false)
      is_int(false) = bool(false)
于 2013-03-29T06:31:41.620 回答
1

考虑一个用户表单输入:

$_POST['integer'] = "3";
$integer = +$_POST['integer']; // convert to a number
var_dump(is_int($integer)); // bool(true)

$_POST['float'] = "3.5";
$float = +$_POST['float']; // convert to a number
var_dump(is_int($float)); // bool(false)
于 2013-03-29T06:38:11.780 回答
0

此功能在以下情况下很有用,

$a = 5;


//some functionality
function passbyref(&$b)
{
    $b = "45";
}


passbyref($a);


if(is_int($a))
{
   print "Yes it is int";
}
于 2013-03-29T06:31:45.350 回答
0

它查找给定变量的类型是否为integer

这是我找到的示例:

$values = array(23, "23", 23.5, "23.5", null, true, false);
    foreach ($values as $value) {
        echo "is_int(";
        var_export($value);
        echo ") = ";
        var_dump(is_int($value));
    }

上面的示例将输出:

is_int(23) = bool(true)
is_int('23') = bool(false)
is_int(23.5) = bool(false)
is_int('23.5') = bool(false)
is_int(NULL) = bool(false)
is_int(true) = bool(false)
is_int(false) = bool(false)

了解更多:点击这里

于 2013-03-29T06:31:51.433 回答