概要
閲覧数:2200
投稿日:2014-10-23
更新日:2014-10-23
多次元配列で特定キーが重複している箇所をランダムで1つだけ表示
・id基準
コード
function array_rand_each_group(array $arrays,$key){
$result = [];
shuffle($arrays); //配列をシャッフル。シャッフルされた配列は中身がランダムに並び替わる
foreach($arrays as $val){
$result[$val[$key]] = $val;
}
return $result;
}
$data = [
['id' => 5, 'name' => '佐藤', 'age' => 5],
['id' => 5, 'name' => '伊藤', 'age' => 7],
['id' => 5, 'name' => '鈴木', 'age' => 12],
['id' => 8, 'name' => '山田', 'age' => 17],
['id' => 8, 'name' => '奈良', 'age' => 2],
];
print_r(array_rand_each_group($data,'id'));結果
Array
(
[8] => Array
(
[id] => 8
[name] => 山田
[age] => 17
)
[5] => Array
(
[id] => 5
[name] => 鈴木
[age] => 12
)
)