2010-01-18 54 views

回答

-1

沒有。寫你自己的!遞歸很有趣! = d

+0

我同意遞歸。 :p – Pikrass 2010-01-18 21:06:55

0

這是相當多的 array_count_values的功能是什麼,但 如果您使用的是多維數組,你暗示,如果將相當瑣碎使用array_walk_recursive功能來把東西在一起。

+2

但是這個計數值不是鍵。 – 2010-01-18 21:07:24

+0

@Felix - 這是一個非常有效的觀點。我的錯。 :-) – 2010-01-18 21:08:45

+0

我的意思是理論上你可以和'array_keys'一起使用它,但是每個鍵只能出現一次...; -D – 2010-01-18 21:12:00

5

現在是。 :)

function count_key($array, $key) { 
    $count = 0; 
    foreach($array as $k => $val) { 
     if($k == $key) 
      $count++; 
     if(is_array($val)) 
     $count += count_key($val, $key); 
    } 
    return $count; 
} 
+0

返回太多 – stef 2010-01-18 21:10:20

0

這可以幫助你。

function recursiveSum($array, $keyToSearch) { 
    $total = 0; 
    foreach($array as $key => $value) { 
     if(is_array($value)) { 
      $total += recursiveSum($value, $keyToSearch); 
     } 
     else if($key == $keyToSearch) { 
      $total += $value; 
     } 
    } 
    return $total; 
} 

$total = recursiveSum($array, "test"); 
+0

不完全正確,else if只應該if '。否則'$ foo [$ key] = array()'不會被考慮在內。 – 2010-01-18 21:10:16

+0

爲什麼添加數組元素的值到計數器? – 2010-01-18 21:17:14

+0

@Felix是啊,這是corect我的壞: – streetparade 2010-01-18 21:19:54