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桥接模式应用案例分析

本文实例讲述了php桥接模式应用。分享给大家供大家参考,具体如下: 桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。 示例: 当一个信息时 根据发送渠道分为:QQ消息、e...

php获取从百度搜索进入网站的关键词的详细代码

分享一个php获取从百度搜索进入网站的关键词的代码,有需要的朋友可以参考一下: 代码: 复制代码 代码如下: <?php function search_word_from() {...

采用PHP函数memory_get_usage获取PHP内存清耗量的方法

一,函数原型 int memory_get_usage ([ bool $real_usage = false ] ) 二,版本兼容 PHP 4 >= 4.3.2, PHP 5 三...

php获取url参数方法总结

本文实例讲述了php获取url参数方法。分享给大家供大家参考。具体如下: 在php中获取url中参数的方法有很多种,其中最简单的就直接使用parse_url函数了,他可以很方便快速的自动...

php 代码优化之经典示例

我用的方法是按key区分块,然后在将块赋给其他的变量,然后再进行一些操作,这样用到了很多的for和foreach,而且代码量也很大,所以被退回来了。 经过上面的指导,发现真的好简单,现在...