PHPでキーや値は保持したまま順番を入れ替える
2024/02/25
PHPで連想配列のキーや値は保持したまま順番をランダムに入れ替えたかった。一発で入れ替える関数は見つからなかったけど、以下の方法でいけるみたい。
ソースコード
<?php $tmp = array( 0 => array('name' => '田中', 'score' => 100), 1 => array('name' => '山田', 'score' => 80), 2 => array('name' => '佐藤', 'score' => 50), 3 => array('name' => '鈴木', 'score' => 30), 4 => array('name' => '高橋', 'score' => 10), 5 => array('name' => '山本', 'score' => 0), ); $keys = array_keys($tmp); shuffle($keys); foreach($keys as $key){ $data[$key] = $tmp[$key]; } var_dump($data); /*結果 array(6) { [2]=> array(2) { ["name"]=> string(6) "佐藤" ["score"]=> int(50) } [1]=> array(2) { ["name"]=> string(6) "山田" ["score"]=> int(80) } [3]=> array(2) { ["name"]=> string(6) "鈴木" ["score"]=> int(30) } [5]=> array(2) { ["name"]=> string(6) "山本" ["score"]=> int(0) } [4]=> array(2) { ["name"]=> string(6) "高橋" ["score"]=> int(10) } [0]=> array(2) { ["name"]=> string(6) "田中" ["score"]=> int(100) } } */
shuffle
関連記事
smart_resize_imageで縦横の比率関係なく、固定リサイズ
PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズで使ったs ...
PHPでフォームとかの数値チェック
フォームとかで届いた値が整数値で0以上かどうか 調べる際に、なるほど、と思ったソ ...
CSVファイルを使って郵便番号から住所を抽出する
■ソース <? error_reporting(E_ALL & ~ ...
PHPで簡単にCSVファイルの生成
簡単にデータ並べるだけのCSVファイル生成。 file_put_contensで ...
PHPで配列に特定の値が入っているか検索
PHPで配列に特定の値が入っているか検索して trueかfalseを返したい、と ...