PHP计数多维数组中的元素

时间:2014-05-05 08:22:53

标签: php arrays multidimensional-array

请考虑以下多维数组$ standings:

Array ( [position] => Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 ) [name] => Array ( [0] => Tiger Woods [1] => Phil Mickleson [2] => J.B. Holmes [3] => Jim Furyk ) [score] => Array ( [0] => 69 [1] => 70 [2] => 71 [3] => 72 )

采用更易读的格式

(position - name - score):

1 - Tiger Woods - 69

2 - Phil Mickleson - 70

3 - J.B. Holmes - 71

4 - Jim Furyk - 72

如何获得4而不是12的计数,这是递归数组计数给我的。

我已尝试过以下两个示例。它们给了我全部元素,而不仅仅是我想要的每一行元素。

示例#1:

function countNested($arr) {
    return (count($arr, COUNT_RECURSIVE) - count($arr));
}

示例#2:

$count = 0;
foreach ($standings as $t) {
    $count+= count($t); 
}
echo $count;

我可以将行数除以列数,但有时我只使用记录子集,这可能不够。

function countNested($arr) {
    return (count($arr, COUNT_RECURSIVE) - count($arr))/3;
}

当我运行函数生成数组时,我保留了数组元素的计数,但是......我只能返回函数的数组,而不是计数。

请您建议我能够有效地做到这一点吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

<?php
function cntArr($arra){
    foreach($array as $arr){
        return count($arr);
    }
}
?>

答案 1 :(得分:0)

$count = count($array['position'])

是我要找的!