2010-03-12 6 views
4

Quel serait le moyen le plus efficace de compter le nombre de fois qu'une valeur apparaît dans un tableau?PHP: Count-IF pour Arrays

Exemple Array (« pomme », « pomme », « banane », « banane », « kiwi »)

En fin de compte, je veux une fonction de cracher les pourcentages à des fins de cartographie (par exemple pomme = 40%, banane = 40%, kiwi = 20%)

Répondre

3

Il suffit de le mettre à travers array_count_values. Les pourcentages doivent être faciles ...

$countedArray = array_count_values($array); 
$total = count($countedArray); 

foreach ($countedArray as &$number) { 
    $number = ($number * 100/$total) . '%'; 
} 
+2

+1 puis utilisez ' compte ['apple'] * 100/count ($ array) 'pour obtenir le pourcentage! –

2

Utilisation array_count_values():

<?php 
$array = array(1, "hello", 1, "world", "hello"); 
print_r(array_count_values($array)); 
?> 

L'exemple ci-dessus sortie:

Array 
(
    [1] => 2 
    [hello] => 2 
    [world] => 1 
) 
0
$a = Array ('apple','apple','banana','banana','kiwi'); 
$b = array_count_values($a); 
function get_percentage($b,$a){ 
    $a_count = count($a); 
    foreach ($b as $k => $v){ 
     $ret[$k] = $v/$a_count*100."%"; 
    } 
    return $ret; 
} 
$c = get_percentage($b,$a); 
print_r($c);