PHP警告Cannot use a scalar value as an array的解决方法

2015-01-24信息快讯网

PHP警告Cannot use a scalar value as an array的解决方法,需要的朋友可以参考下。

看到php的错误日志里有些这样的提示:

[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

检查源程序,大概是下面这样子:
 
$arr_hx = $mem->get('hx'); 
if(!$arr_hx) { 
$arr_hx[‘a'] = 'b'; 
$mem->set('hx',$arr_hx); 
} 

基本明白了,在$mem->get没有得到值时返回的是false,此时$arr_hx是false,布尔值,然后又把它当成数组用了,导致产生了这样的提示。其实也是变量没定义的一种情况,在赋值前加一句 $arr_hx = array() 解决问题。

查了一下,有如下的说明:
引用
需要注意的是类型的转换:
如果一个变量名(如a)已经被定义为非数组类型,例如integer,那么a可以被转为floating point、string(甚至是object类型),但不可以是数组,即a[0]=1;是错误的,php会报出这样的警告“Cannot use a scalar value as an array“。即使a被定义为一维数组,也不能转为高维数组。
解析php中call_user_func_array的作用
深入密码加salt原理的分析
PHP Global变量定义当前页面的全局变量实现探讨
PHP 常用数组内部函数(Array Functions)介绍
php htmlspecialchars()与shtmlspecialchars()函数的深入分析
基于PHP array数组的教程详解
深入php var_dump()函数的详解
php数组(array)输出的三种形式详解
fetchAll()与mysql_fetch_array()的区别详解
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
php笔记之:php函数range() round()和list()的使用说明
CI框架源码阅读,系统常量文件constants.php的配置
PHP中函数rand和mt_rand的区别比较
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
114啦源码(114la)不能生成地方房产和地方报刊问题4级页面0字节的解决方法
Trying to clone an uncloneable object of class Imagic的解决方法
php中使用parse_url()对网址进行解析的实现代码(parse_url详解)
php curl常见错误:SSL错误、bool(false)
php使用Smarty的相关注意事项及访问变量的几种方式
PHP性能优化工具篇Benchmark类调试执行时间
PHP性能优化准备篇图解PEAR安装
PHP的array_diff()函数在处理大数组时的效率问题
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
php array_filter除去数组中的空字符元素
php数组函数序列之array_pop() - 删除数组中的最后一个元素
php数组函数序列之array_slice() - 在数组中根据条件取出一段值,并返回
php数组函数序列之array_values() 获取数组元素值的函数与方法
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
提示Trying to clone an uncloneable object of class Imagic的解决
Admin generator, filters and I18n
Sorting Array Values in PHP(数组排序)
判断Keep-Alive模式的HTTP请求的结束的实现代码
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
©2014-2024 dbsqp.com