2016-03-30 14 views
2

çok boyutlu bir dizide aynı olan tüm öğeleri saymak nasıl:Ben ülkelerin listesi var

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

Ben ülkeleri görüntülemek için foreach() kullanıyorum:

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

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

Sorum şu, aynı olan tüm ülkelerin sayısını nasıl gösteririm?

Örnek:

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

Ben array_count_values() etrafında oynadı ama çalışmak için alamadım. bir dizi değil bir nesne olduğu için

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

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

Ben $array yerine $obj kullandı: bunları saymak

+0

JSON'u göndermelisiniz, ham değerleri değil – Machavity

cevap

2

Daha sonra her bir alt diziden country değerleri ayıklamak ve gerekir.

+0

Teşekkür ederim bayım, Mükemmel çalışıyor! – Tsea