$variable = array(0);
$variable = array();
它们有什么不同?
答案 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