【发布时间】:2009-08-27 06:50:28
【问题描述】:
$variable = array(0);
$variable = array();
它们有何不同?
【问题讨论】:
-
这里的菜鸟……我该怎么做?
$variable = array(0);
$variable = array();
它们有何不同?
【问题讨论】:
第一个用数字0填充一个数组,后者是一个空数组。
【讨论】:
第一个包含单个元素,一个整数零。该参数不是您想象的“大小初始值设定项”。您可以通过对它们使用 var_dump 来查看:
$foo = array(0);
var_dump($foo);
$bar = array();
var_dump($bar);
这个输出
array(1) {
[0]=>
int(0)
}
array(0) {
}
【讨论】:
第一种情况:
$variable = array(0);
var_dump($variable);
你得到:
array
0 => int 0
即一个元素为0的数组。
而且,在第二种情况下:
$variable = array();
var_dump($variable);
你得到:
array
empty
即,一个空数组。
【讨论】:
除了meder:
$变量=数组(0); 计数($变量); // 1 空($变量); // 错误的 (!$variable) // 假 $变量 = 数组(); 计数($变量); // 0 空($变量); // 真的 (!$variable) // 真【讨论】: