[] OPERATOR NOT SUPPORTED FOR STRINGS错误原因和处理方法

overme3个月前 (10-17)网页设计207

在此我爱自学小编,以亲身开发经历,分享PHP报警现象和解决方法:

本地开发调试项目时,通过foreach方法将一个数组的字符串元素赋值给一个变量,调试时出现报错

  1. 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错误的原因分析和解决方法。

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。