2015-10-13 47 views
0

例如:如何計算內部數組的數組中的PHP

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++; 
    } 
} 

有沒有更好的方式來做到這一點?

回答

4
foreach($arrayAbove as $array){ 

    $i = count($array['services']); 
    print_r($i); 
} 
如果你想整體數量

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

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

使用PHP sizeof() Function

foreach($arrayAbove as $array){ 

    $sub_array = sizeof($array['services']);   
    $total = $total + $sub_array; 
} 

echo 'Sub Array count is : '.$total; 
+0

@Random尺寸給出了數 –

+0

雅其解決了。任何方式thnx提示 –

+0

實際上'$總= = $總+ $ sub_array;'包含計數 –

1

這裏有一個有趣的方式:的

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