错误日志:PHP警告:遇到非数字值
更新到PHP7.3后,我得到以下错误 PHP警告:在第3702行的/functions.PHP中遇到非数值 第3702行:错误日志:PHP警告:遇到非数字值,php,Php,更新到PHP7.3后,我得到以下错误 PHP警告:在第3702行的/functions.PHP中遇到非数值 第3702行: $total += $rating['rating_score']; 功能代码: function airkit_get_rating( $post_id ) { if ( is_numeric($post_id) ) { $rating_items = get_post_meta($post_id, 'ts_post_rating', TRUE); i
$total += $rating['rating_score'];
功能代码:
function airkit_get_rating( $post_id ) {
if ( is_numeric($post_id) ) {
$rating_items = get_post_meta($post_id, 'ts_post_rating', TRUE);
if ( isset($rating_items) && is_array($rating_items) && !empty($rating_items) ) {
$total = '';
foreach($rating_items as $rating) {
$total += $rating['rating_score'];
}
if ( $total > 0 ) {
$round = intval($total) / count($rating_items);
$result = round($round, 1);
if ( is_int($round) ) {
if ( $round == 10 ) return $result;
else return $result . '.0';
} else {
return $result;
}
} else {
return;
}
}
} else {
return;
}}
我没有PHP方面的经验。有人能帮我纠正这个错误吗?更改
$total = '';
到
您试图向字符串中添加一个数字,但该字符串看起来不像一个数字。空字符串被转换为数字0,因此您可以得到正确的总数,但它也会产生警告。您应该将$total初始化为0,而不是。您正在尝试添加字符串和数字。它会自动将字符串转换为数字,但现在它会生成一个警告。实际上,这不是一个新的警告,我在PHP5中复制了它。升级可能更改了默认的错误报告级别。这似乎解决了问题。但是我注意到,如果$rating['rating_score']也是一个字符串,同样的错误也会被触发。是的,但为什么会是字符串呢?如果你试图连接你使用的字符串,不是+。
$total = 0;