2017-11-05 11 views

答えて

1
<?php 
$string = "abc, abcd, aec, abc, aaa, ccc, aec, abc, efg, abc, aaa, aec, cde"; 

$words = explode(',',$string); 
$results = array(); 

foreach($words as $key) { 
    if(!isset($results[$key])){ 
     $results[$key] = 0; 
    } 

    $results[$key]++; 
} 

var_dump($results); 

シームへ私のために働く:)

1

foreachループではなくarray_reduceを使用します。

$string = "abc, abcd, aec, abc, aaa, ccc, aec, abc, efg, abc, aaa, aec, cde"; 

$array = explode(',', $string); 

//Trim it up first. 
$array = array_map(function($item){ 
    return trim($item); 
}, $array); 

$array = array_reduce($array, function($carry, $item){ 
    if(isset($carry[$item])) { 
     $carry[$item]++; 
    } else { 
     $carry[$item] = 1; 
    } 

    return $carry; 
}); 

var_dump($array); 

Try it!

+0

ビッグデータのアプローチの良い例! –

関連する問題