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

yipeiwu_com6年前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使用simple_html_dom解析HTML示例

本文实例讲述了php使用simple_html_dom解析HTML的方法。分享给大家供大家参考,具体如下: 今天写了两个爬虫, 一个使用Python, 一个使用PHP, 说实在, 两个实...

应用开发中涉及到的css和php笔记分享

关于应用中遇到的一些问题及解决办法,做一些记录,以备后用。本人新手,技术还不熟练,笔记比较幼稚。嘲笑请轻笑。   1、关于层的绝对定位。   有两个div层,其中main类div是整体的...

详细解读PHP中接口的应用

接口 PHP类是单继承,也就是不支持多继承,当一个类需要多个类的功能时,继承就无能为力了,为此PHP引入了接口技术 如果一个抽象类里面的所有方法都是抽象方法,且没有声明变量,而且接口里面...

PHP 5.5 创建和验证哈希最简单的方法详解

我们首先讨论password_hash()函数。这将用作创建一个新的密码的哈希值。它包含三个参数:密码、哈希算法、选项。前两项为必须的。你可以根据下面的例子来使用这个函数:复制代码 代码...

PHP的Yii框架中行为的定义与绑定方法讲解

定义行为 要定义行为,通过继承 yii\base\Behavior 或其子类来建立一个类。如: namespace app\components; use yii\base\Beh...