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
関連記事
-
-
PHPにて文字のあいまい検索(文字のゆれ)を実装する方法
Googleで検索する際に、ちょっと間違えて入力してしまっても「もしかして○○? ...
-
-
PHPを用いてフォームからzipファイルをアップロードしサーバ上で解凍(展開)させる方法
formからzipファイルをアップロードしサーバ上で解凍(展開)するという一連の ...
-
-
CodeIgniter3でファイルキャッシュする方法
CodeIgniterでファイルキャッシュが楽に導入できた。そこそこ使いそうなの ...
-
-
PHPで配列を値で検索、破棄
PHPの配列で特定の値が入っていれば それを破棄したいということがあった。 ・u ...
-
-
PHPのバリエーションライブラリ「Valitron」の導入及び利用方法
フォーム等の入力内容チェックをPHP側で行う際、現状は素のPHPで書いているけど ...