如何计算多维数组

时间:2016-03-30 19:00:02

标签: php json count

我有一份国家/地区列表:

Ghana
Kenya
Thailand
India
Cameroon
Tanzania
Kenya
Cameroon
India
Uganda
Argentina
Kenya
Uganda

我使用foreach()来显示国家/地区:

 $json = file_get_contents('PATH_TO_JSON');
 $obj = json_decode($json, true);

 foreach($obj as $project_info){
          $list = $project_info['country'];    
}

我的问题是如何显示所有相同国家/地区的统计数据?

示例:

 Kenya(3)
 India(2)
 ... and so on

我和array_count_values()一起玩,但无法让它发挥作用。

1 个答案:

答案 0 :(得分:2)

您需要从每个子数组中提取country值,然后对它们进行计数:

$array = json_decode($json, true);
$countries_count = array_count_values(array_column($array, 'country'));

foreach($countries_count as $country => $count) {
    echo "$country ($count)";
}

我使用$array代替$obj,因为它不是对象的数组。