Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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 - Fatal编程技术网

如何在PHP中计算数组中的数组

如何在PHP中计算数组中的数组,php,arrays,Php,Arrays,例如: Array ( [0] => Array ( [id] => 1 [name] => Test [slug] => test [services] => Array ( [0] => Array ( [name] => test

例如:

Array
(
[0] => Array
    (
        [id] => 1
        [name] => Test
        [slug] => test
        [services] => Array
            (
               [0] => Array
                   (
                       [name] => test
                   )
               [1] => Array
                   (
                       [name] => test
                   )
               [2] => Array
                   (
                       [name] => test
                   )
               [3] => Array
                   (
                       [name] => test
                   )
            )    
     )   
[1] => Array
    (
        [id] => 1
        [name] => Test
        [slug] => test
        [services] => Array
            (
               [0] => Array
                   (
                       [name] => test
                   )
               [1] => Array
                   (
                       [name] => test
                   )
               [2] => Array
                   (
                       [name] => test
                   )
               [3] => Array
                   (
                       [name] => test
                   )
            )    
     )  
这只是虚拟数据,但是我想计算每个阵列中的服务数量,但我正在寻找一种有效的方法

现在我要做的是:

foreach($arrayAbove as $array){

    $i = 0;
    foreach($array['services'] as $array){
        $i++;
    }
}
有更好的方法吗

foreach($arrayAbove as $array){

    $i = count($array['services']);
    print_r($i);
}
如果您想要总计数:

$i = 0;
foreach($arrayAbove as $array){

     $i += count($array['services']);
}
print_r($i);
如果您想要总计数:

$i = 0;
foreach($arrayAbove as $array){

     $i += count($array['services']);
}
print_r($i);
使用

使用

这里有一个有趣的方法:

$result = array_reduce($array, function($c, $v) { return $c + count($v['services']); });
这里有一个有趣的方法:

$result = array_reduce($array, function($c, $v) { return $c + count($v['services']); });

@的随机大小给出countActual
$total=$total+$sub_数组包含count@Random我想这取决于你所说的“必须”是什么意思。如果你不这样做,你会得到一个通知,但它仍然会起作用。@don't是的,如果你可以通过添加一行来避免通知,你必须这样做,imo,以清除日志…:)@的随机大小给出countActual
$total=$total+$sub_数组包含count@Random我想这取决于你所说的“必须”是什么意思。如果你不这样做,你会得到一个通知,但它仍然会起作用。@don't是的,如果你可以通过添加一行来避免通知,你必须这样做,imo,以清除日志…:)