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
関連記事
-
CodeIgniter4でCronを実行する方法
CodeIgniter4.4.4で特定の処理をCronで自動実行させたい。以下に ...
-
PHPでファイルアップロード時にディレクトリトラバーサル攻撃の対策をする方法
あるシステムのセキュリティ対策としてディレクトリトラバーサル(Directory ...
-
PhpSpreadsheetで作成したエクセルファイルをPDFファイルに変換する方法
以前にPhpSpreadsheetでフォーマット用のエクセルを読み込み、指定した ...
-
PHPでファイル書き込み時に「failed to open stream: HTTP~~」エラー
PHPでファイルを書き込む際に「failed to open stream: H ...
-
PHPの構文チェック
JSONLINTみたいにオンラインで構文チェックを できるサイト様があったのでメ ...