0

我有一个名为的数组

$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
4

2 回答 2

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

请看一下。

于 2013-08-13T08:56:31.950 回答
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); 
于 2013-08-13T09:22:32.160 回答