数组(0)与数组()的不同之处

时间:2009-08-27 06:50:28

标签: php arrays

$variable = array(0);

$variable = array();

它们有什么不同?

4 个答案:

答案 0 :(得分:9)

第一个填充数字为0的数组,后者是一个空数组。

答案 1 :(得分:7)

第一个包含单个元素,整数为零。您可能想象的参数不是“大小初始值设定项”。您可以通过对它们使用var_dump来看到这一点:

$foo = array(0);
var_dump($foo);

$bar = array();
var_dump($bar);

此输出

array(1) {
  [0]=>
  int(0)
}
array(0) {
}

答案 2 :(得分:4)

在第一种情况下:

$variable = array(0);
var_dump($variable);

你得到:

array
  0 => int 0

,即一个元素,其值为0。


并且,在第二种情况下:

$variable = array();
var_dump($variable);

你得到:

array
  empty

即一个空数组。

答案 3 :(得分:2)

除了meder:

$variable = array(0);
count($variable); // 1
empty($variable); // false
(!$variable)  // false

$variable = array();
count($variable); // 0
empty($variable); // true
(!$variable)  // true