这样的问题怎么可能:一个整数是非数字的


$id=intval(array['id']);
echo ($id+1);
gettype($id) : integer
gettype($id+1) : integer
PHP Warning:  A non-numeric value encountered in /var/www/html/xxxx on line xxx

那个整数怎么可能是非数字的?

//PHP 7.3

术语";数字字符串";只是意味着它是一个数值,存储在一个字符串变量中。我提供了两个例子,展示了第一个带有数字字符串

$id =(string)42;
echo ($id);
echo '<br>';
echo ($id+1);
echo '<br>';
echo gettype($id);
echo '<br>';
echo gettype($id+1);

输出将像这个一样小

42

43

字符串

整数

并且当变量的值是整数时

$id =intval('42');
echo ($id);
echo '<br>';
echo ($id+1);
echo '<br>';
echo gettype($id);
echo '<br>';
echo gettype($id+1);

输出将是这个

42

43

整数

整数

$array['id'] = 2;
$id=intval($array['id']);
echo ($id+1);
gettype($id) ;
gettype($id+1);

错误来自您的第一行。

你应该在设置id的第一行看到一个错误,但无论哪种方式,它都不是整数。检查我的代码,如果有什么不清楚的地方,请告诉我。

最新更新