Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP如何计算多维数组中的对象?_Php_Arrays_Multidimensional Array_Count - Fatal编程技术网

PHP如何计算多维数组中的对象?

PHP如何计算多维数组中的对象?,php,arrays,multidimensional-array,count,Php,Arrays,Multidimensional Array,Count,当我学习数组的计数函数并查看一些示例时,我注意到一些我不理解的东西。你能解释一下下面例子中的行为吗 我在PHP手册中阅读了count函数的工作原理,我知道函数中的第二个参数意味着它将递归地对数组进行计数 <?php $fruits = array ("apple", "orange", array("pear" , "mango"), "banana"); echo (count($fruits,1)); 答案很简单。这段代码的输出是7 1) apple 2) orange 3)

当我学习数组的计数函数并查看一些示例时,我注意到一些我不理解的东西。你能解释一下下面例子中的行为吗

我在PHP手册中阅读了count函数的工作原理,我知道函数中的第二个参数意味着它将递归地对数组进行计数

<?php
$fruits = array ("apple", "orange", array("pear" , "mango"), "banana");
echo (count($fruits,1));

答案很简单。这段代码的输出是7

1) apple
2) orange  
3) array() 
4) array() 
5) pear 
6) mongo 
7) banana
如果我想准确而简单地解释:

<?php
$arr = ['a', 'b', array('c', 'd')];
$cnt = count($arr);
foreach($arr as $item) {
    if(is_array($item)) {
        $cnt += count($item);
    }
}
echo $cnt;

答案很简单。这段代码的输出是7

1) apple
2) orange  
3) array() 
4) array() 
5) pear 
6) mongo 
7) banana
如果我想准确而简单地解释:

<?php
$arr = ['a', 'b', array('c', 'd')];
$cnt = count($arr);
foreach($arr as $item) {
    if(is_array($item)) {
        $cnt += count($item);
    }
}
echo $cnt;

4在第一级(其中一个是数组)中,2在第二级=6??它是该数组中的键总数。嵌套数组位于父数组的键2处,因此仍然计数。4(父)+2(子)=6所以它加上+1,因为它将数组计为父数组的元素。谢谢你的快速回答。我很困惑,因为在前几年的一次测试中,我认为5是正确答案。第一级(其中一个是数组)中的值必须大于0.4,第二级中的值必须大于2=6??这是该数组中的键总数。嵌套数组位于父数组的键2处,因此仍然计数。4(父)+2(子)=6所以它加上+1,因为它将数组计为父数组的元素。谢谢你的快速回答。我很困惑,因为在前几年的一次测试中,我认为5是正确答案。一定是老师弄错了。谢谢你澄清了答案。谢谢你澄清了答案。