PHP网站报错A non-numeric value encountered的解决方法
网站在升级到 PHP 7.1版本或更高版本之后,网站经常收到 A non-numeric value encountered 的 warning 警告报错信息,意思就是遇到一个非数字值,PHP从7.几版本开始,当使用一些(+ - * / ** % << >> | & ^) 的运算符号后,如何类型不确定,那么 php 就会出现 Warning: A non-numeric value encountered 的错误提示,这个错误提示不会影响网站运行,但是在网站上显示出来就非常不美观了,所以有必要解决一下,方法也很简单。
可以使用强制类型转换方法 (intval),把字符串转换成数字即可解决。在报错的代码中加入intval(括号里是非数字值的代码)方法进行强制转为数值型后。
例如本站wordpress的主题报错文件comment-template.php第34行:
$commentcount = $cpp * $page + 1;
修改为
$commentcount = $cpp * intval($page) + 1;