PHP 7.4.21出现A non-numeric value encountered警告问题求助
问题根因
你遇到的报错核心是PHP运算符使用错误:
+=是PHP的数值加法运算符,仅适用于数字类型运算。当你用该运算符操作字符串时,PHP会强制尝试将两侧的值转换为数字类型,这就是触发「A non-numeric value encountered」警告的直接原因。- PHP中用于字符串拼接的赋值运算符是
.=,而非+=。
修复方案
你无需做多余的字符串类型转换,仅修改运算符即可解决问题,修改后的代码如下:
// 首先要初始化拼接的目标字符串,未初始化变量也会触发额外警告 $anglesStr = ""; $angles2 = array(100, 90, 80); for ($i = 0; $i < 3; $i++) { $angle = $angles2[$i]; // 将 += 替换为 .= 即可完成字符串拼接 $anglesStr .= $angle; }
如果只是需要把数组所有元素拼接为字符串,无需手动写循环,直接调用PHP内置函数更简洁高效:
$angles2 = array(100, 90, 80); $anglesStr = implode('', $angles2);
完成拼接后即可正常进行JSON编码操作。
内容的提问来源于stack exchange,提问作者Michael
相关产品推荐
相关产品推荐

