首页 > php教程 > php手册 > 正文

php下关于Cannot use a scalar value as an array的解决办法

WBOY
发布: 2016-06-06 20:34:34
原创
1515 人浏览过

已经定义过的一个布尔型变量在下面被我直接当数组来调用了,所以就出现错误了

今天在测试php程序的时候,出现了一个错误提示:Cannot use a scalar value as an array,这个错误提示前几天也出过,当时好像稍微调了一下就好了,也没深究,今天却又出现了。

不能再糊弄了,得找出原因和解决办法,于是我就去网上搜啊找啊,找了很久都没找到结果,不是网上搜不到这样的问题,而是很少有人做正面的准确的回答。最后这篇文章的一段文字让我一下子弄明白了怎么回事。

—————————————-
需要注意的是类型的转换:
如果一个变量名(如a)已经被定义为非数组类型,例如integer,那么a可以被转为floating point、string(甚至是object类型),香港空间,但不可以是数组,即a[0]=1;是错误的,php会报出这样的警告“Cannot use a scalar value as an array“。即使a被定义为一维数组,也不能转为高维数组。
—————————————-
下面是别的网友发现的问题的解决方法:
看到这句话之后,我仔细检查了一下代码,发现我上面已经定义过的一个布尔型变量在下面被我直接当数组来调用了,服务器空间,所以就出现错误了。

如果已经定义了一个非数组元素并赋值,再把它当数组来用就会出现Cannot use a scalar value as an array的错误

如: var $i=1000;

$i[5]=345; // 此时会出错,美国服务器,

所以大家要放弃这个不规范的写代码方式。
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板