计算多维数组中的数组编号

时间:2013-08-13 08:54:36

标签: php

我有一个名为

的数组
$results['picks]

数组的vardump是:

var_dump($results['picks']

array(1) {
  [0]=>
  string(2) "55"
}
array(1) {
  [0]=>
  string(2) "69"
}
array(1) {
  [0]=>
  string(2) "71"
}
array(1) {
  [0]=>
  string(2) "72"
}
array(1) {
  [0]=>
  string(2) "73"
}

如何计算内部的所有数组? 结果是5所以我需要得到这个数字 我正在尝试

count();

但我得到了这个结果:

1
1
1
1
1

2 个答案:

答案 0 :(得分:2)

你可能正在寻找这个 - 您需要递归计算数组值,因为它是多维数组

<?php
$food = array('fruits' => array('orange', 'banana', 'apple'),
              'veggie' => array('carrot', 'collard', 'pea'));

// recursive count
echo count($food, COUNT_RECURSIVE); // output 8

// normal count
echo count($food); // output 2

?>

您可以在此处获取更多信息:http://php.net/manual/en/function.count.php

你还有问题,所以我创建了PHPFiddle:http://phpfiddle.org/main/code/uzs-qvy

请看一下。

答案 1 :(得分:0)

你从第一篇帖子中得到1分,因为你没有尝试访问你在数组中已有的值(在我的理解中代表你需要获取的“计数”) - 你计算元素的数量在那个数组中。

如果我完全理解你想要完成什么 - 你可以使用下面的代码来完成它。

//if you want to get just the 5 numbers (written are shown as strings in your var dump), which as I undersand you store your count values

$extracted_arr = array_map(function($item){ return array_shift($item); }, $result['picks']); 

foreach($extracted_arr as $count)
    echo $count; 

// you should see 55 69 71 72 73 

编辑:包括您的评论

//this should get you what you need

//create an array of counts
$count_arr = array_map(function($item){ return count($item); }, $result['picks']); 

//sum these counts
$five = array_sum($count_arr);