如何使用PHP计算矩阵(2d数组)元素?

时间:2014-01-09 13:09:13

标签: php arrays matrix count

我想知道如何计算矩阵元素的总数? count()函数告诉我数组元素的数量,但如果我有m [n] [n],我怎么知道有多少元素?谢谢 这是var_dumpenter image description here

的结果

3 个答案:

答案 0 :(得分:1)

修改

对于元素的任何维数组计数:

演示:https://eval.in/87683

$food = array('fruits' => array('orange', 'banana', 'apple'),"dsd"=>array('orange', 'banana', 'apple','dsfdsf'),'sa'=>array('1','1','1','1','1','1','1','1','1','1','1'));
$arr = (array_map('count', $food));
//print_r($arr);
$c = 0;
foreach($arr as $k => $v){
  $c  += $v;    
}
echo $c;

最大数组计数: 现场演示:https://eval.in/87611

  echo max(array_map('count', $your2dArray));

它将返回2d数组的计数

如果你想得到所有元素的数量:

$array[0][0] = "one";
$array[0][1] = "two";

$array[1][0] = "three";
$array[1][1] = "four";
$c=0;
foreach($array as $a){

 $c =$c+count($a);
}
echo $c;

现场演示:https://eval.in/87617

答案 1 :(得分:1)

只计算每个子数组元素。

$count = 0;
foreach ($array as $value)
{
     $count += count($value);
}

答案 2 :(得分:0)

这适用于2d,3d,4d阵列:

$myArray = array(array(1,2,3,4,5),  array(6,7), array(array(8,9)));
$countRec = count($myArray, COUNT_RECURSIVE);
print $countRec;

但是这会因为计算结果而返回13:第一深度中的元素+第二深度中的元素......

所以它的计算是:2 + 8 + 1 + 2 = 13