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

yipeiwu_com5年前PHP代码库
今天在测试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下通过file_get_contents的代理使用方法

PHP使用file_get_contents的代理方法获取远程网页的代码。 复制代码 代码如下: <?php $url = "//www.jb51.net/"; $ctx = st...

PHP+ajax 无刷新删除数据

首先本例基于留言本整理版修改。 我们使用了jquery.js来实现ajax和dom删除 首先加入复制代码 代码如下:<script type="text/javascript" s...

PHP二分查找算法示例【递归与非递归方法】

本文实例讲述了PHP二分查找算法。分享给大家供大家参考,具体如下: binarySearch 二分查找采用的方法比较容易理解,以数组为例: ① 先取数组中间的值floor((low+to...

php rsa 加密,解密,签名,验签详解

php rsa 加密,解密,签名,验签 由于对接第三方机构使用的是Java版本的rsa加解密方法,所有刚开始在网上搜到很多PHP版本的rsa加解密,但是对接java大多都不适用。 以下p...

PHP4与PHP5的时间格式问题

自己电脑上用的PHP5. 服务器上PHP4. 自己机器上时间,2008-2-14 14:56:29 写好程序传上去,变成一串数字。1202972189 数据库用的access....