2016-03-30 2 views
2

ich eine Liste der Länder haben:Wie zähle ich alle Elemente, die das gleiche in einem mehrdimensionalen Array sind

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

Ich bin ein foreach() mit den Ländern anzuzeigen:

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

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

Meine Frage ist, wie ich eine Zählung aller Länder anzeigen kann, die gleich sind?

Beispiel:

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

spielte ich mit array_count_values() um, konnte aber nicht an die Arbeit.

+0

Sie sollten den JSON und nicht die Rohwerte posten – Machavity

Antwort

2

Sie müssen die country Werte von jeder Untergruppe extrahieren und sie dann zählen:

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

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

I $array statt $obj verwendet, weil es ein Array ist kein Objekt.

+0

Vielen Dank Sir, funktioniert perfekt !! – Tsea

Verwandte Themen