首页新萄京娱乐网址2492777 › php下关于Cannot use a scalar value as an array的解决办法_php技能_脚本之家

php下关于Cannot use a scalar value as an array的解决办法_php技能_脚本之家

检查源程序,大致是底下那标准:
复制代码 代码如下:
$arr_hx = $mem->get('hx');
新萄京娱乐网址2492777,if(!$arr_hx) {
$arr_hx[‘a'] = 'b';
$mem->set('hx',$arr_hx);
}

后日在测量试验php程序的时候,现身了三个不当提醒:Cannot use a scalar value
as an
array,这些似是而非提醒即日也出过,那时候看似有个别调了弹指间就好了,也没深究,前天却又并发了。
不可能再糊弄了,得找寻原因和解决办法,于是本身就去互连网搜啊找啊,找了比较久都没找到结果,不是网络搜不到这样的难点,而是很罕见人做正面包车型地铁确切的答疑。最后那篇小说的后生可畏段文字让本人须臾间弄通晓了怎么回事。
—————————————- 须要在乎的是项指标调换:
借使三个变量名已经被定义为非数组类型,举例integer,那么a能够被转为floating
point、string,但不得以是数组,即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; //
那时会出错, 所以大家要屏弃这一个不伦不类的写代码情势。

大旨精晓了,在$mem->get未有拿走值时重临的是false,那个时候$arr_hx是false,布尔值,然后又把它正是数组用了,招致爆发了如此的唤起。其实也是变量没概念的风流倜傥种境况,在赋值前加一句
$arr_hx = array(卡塔尔国 消除难题。

[27-Aug-2011 22:26:12] PHP Warning: Cannot use a scalar value as an
array in /www/hx/enjoy.php on line 14
[27-Aug-2011 22:26:18] PHP Warning: Cannot use a scalar value as an
array in /www/hx/enjoy.php on line 14

转载本站文章请注明出处:新萄京娱乐网址2492777 http://www.cdhbjs.com/?p=5354

上一篇:

下一篇:

相关文章