概要
閲覧数:1880
投稿日: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 ) )