日期:2014-05-17  浏览次数:20418 次

请教个PHP数组的问题
PHP中定义一个数组
$sz = array();

如果往数组里加特定名称元素的话我是这样写的
$sz [a] = "123456";

然后用echo $sz['a'] 的方式输出什么也没有 这是为什么呢?还有其它别的方法吗 高手帮忙

------解决方案--------------------
输出:Notice: Use of undefined constant a - assumed 'a' in D:\www\test.php on line 3
123456
这样赋值就没可以了啊 $sz['a'] = "123456";

------解决方案--------------------
1.
$sz=array('a'=>'123456');

2.
$sz=array();
$sz['a']='123456';


------解决方案--------------------
一般我们把 php 的错误检查级别定为 E_ALL ^ E_NOTICE 这样可以充分发挥 php 对于变量处理的灵活性,在这个情况下
$sz = array();
$sz [a] = "123456";
echo $sz['a']; //123456

当然,作为古板的程序员,你可以将错误检查级别定为 E_ALL
于是
$sz = array();
$sz [a] = "123456"; //在这里将会出现一个 Notice 级别的错误。如果错误显示功能没有打开的话,程序将被终止
echo $sz['a']; //123456

但你应该注意到错误说明是 
Use of undefined constant a - assumed 'a' 
使用未定义的常量 

他指出了这样一个事实:
define('a', 1);
$sz = array();
$sz [a] = "123456";
echo $sz[1]; //123456