2010-03-12 15 views
4

어레이 내부에 값이 나타나는 횟수를 계산하는 가장 효율적인 방법은 무엇입니까?PHP : 배열의 개수 IF

예 어레이 ('사과', '사과', '바나나', '바나나', '키위')

가 궁극적으로 내가 함수가 목적을 (예 : 사과 차트의 비율을 뱉어하려는 = 40 %, 바나나 = 40 %, 키위 = 20 %)

답변

3

그냥 array_count_values으로 입력하십시오. 백분율은 ... 쉽게해야

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

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

+1 및 사용' 백분율을 얻기 위하여 [apple] * 100/count ($ array)'를 센다! –

2

사용 array_count_values() :

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

위 예제의 출력 : 다음

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);