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
関連記事
-
-
htmlspecialcharsを通してMySQLに格納したものを元に戻して出力
MySQLにHTMLタグを入れたくない場合にhtmlspecialcharsを使 ...
-
-
PHPでファイルのダウンロード時に速度制限をかける方法(分割ダウンロード)
オンラインストレージサービス等で有料会員じゃない場合、ファイルのダウンロード時に ...
-
-
PHPで画像を上下反転させ保存する
やりたかった事は、下記の通り。 ・既にフォルダに保存されている画像を上下反転させ ...
-
-
CodeIgniterのバージョンの調べ方
CodeIgniterを使っているシステムがあったが、どうも記憶しているディレク ...
-
-
フォームからアップロードした画像にPHPで任意のテキストを追加する方法
以前フォームから送られてきた画像に対してサイトロゴみたいなロゴ画像を追加する記事 ...