[] OPERATOR NOT SUPPORTED FOR STRINGS错误原因和处理方法
在此我爱自学小编,以亲身开发经历,分享PHP报警现象和解决方法:
本地开发调试项目时,通过foreach方法将一个数组的字符串元素赋值给一个变量,调试时出现报错
- Fatal error: [] operator not supported for strings
复制代码
报错的代码如下:
$model[] = $v[‘cap_model’];
将数组中的字符串元素,赋值给一个数组变量,看上去没有问题,但是为什么会出现不支持字符串的提示呢!
找了一下前面的代码,发现前面进行过一个相同变量名的赋值,但是赋值的是单一字符,不是数组。
$model = $post[‘model’];
错误原因
在对某一个变量进行第二次赋值的时候,也就是在同一页面内对同一变量第二次赋值,但值的类型前后不一致会就会发生 OPERATOR NOT SUPPORTED FOR STRINGS的报错。
解决方法:
① 如果可以用另外的变量替代,可以换一个变量名进行赋值
② 同一个变量第二次赋值前,用unset()函数事前销毁变量,再进行二次变量赋值
以上就是php程序调试时OPERAROR NOT SUPPORTED FOR STRINGS错误的原因分析和解决方法。