PHP搜索数组递归并返回索引'x'的计数?

时间:2010-01-18 20:59:05

标签: php

是否有PHP函数可以递归搜索数组并返回某个键'x'出现的实例数(无论有多深)?

4 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:0)

这几乎就是array_count_values函数的用途,但如果你正在使用多维数组,那么使用多维数组是非常简单的array_walk_recursive函数。

答案 2 :(得分: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");

答案 3 :(得分:-1)

不。写你自己的!递归很有趣! = d