对不起我是重复的, 但我似乎没有找到我需要澄清的具体方案。
所以我的问题是为什么:
var = array ();
echo count (var);
打印0。
和此:
var = array (array());
echo count (var);
打印1?
谢谢!
答案 0 :(得分:5)
因为您已将数组放入数组中。即使该内部数组为空,它仍然 SOMETHING 。
这就像把一个空的塑料袋放入另一个塑料袋中。那个外袋现在包含一个项目:另一个塑料袋。
答案 1 :(得分:1)
这是因为数组中存在一个值,内部数组是否为空无关紧要。
在索引0上存在一个空数组,这意味着数组不为空,因此计数结果为1。
答案 2 :(得分:1)
在第一种情况下,您创建一个空数组。
$var = array();
此数组的内容可能如下所示:
[ ]
这里什么都没有。所以,count($var)
为零。
但是如果你创建一个nested
数组,你就会有
$var = array(array());
$var
的内容现在是这样的:
[ [] ]
内部数组里面没有任何东西。但是,外部数组内部有一个空数组。因此,count
为1
。
将数组视为塑料盒。
在第一种情况下,框内没有任何内容,因此count
为0
。
但是,在第二种情况下,框内有一个空框。因此,count
为1
。
答案 3 :(得分:-1)
当你执行此操作var = array (array());
时,你有二维数组。如果你熟悉java,它似乎是
Object var[][] = {
{},
};
所以,var.length
是“,但var[0].length
是0