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
関連記事
-
-
composerでライブラリのインストールとインストール時のエラー対応方法
composerでライブラリをインストールする際に「The following ...
-
-
PHPでテンプレートPDFに動的に文字や数値を追記し出力する方法(TCPDF&FPDI)
請求書や領収書のテンプレートがあり、そちらに対して動的に文字・数値を追記し出力さ ...
-
-
PHPのOpenSSL関数で文字列の暗号・復号化を行う方法
だいぶ前にPHPでBlowfishアルゴリズムを用いた暗号化と復号化する方法をメ ...
-
-
CodeIgniter4でのメール送信方法(テキスト・HTMLメール)
CodeIgniter4.4.4でテキストメール及びHTMLメールを送信したい。 ...
-
-
PHPでファイルパスorフォルダパスの確認
PHPで画像とか触る際にフォルダのパス、ファイルのパスを 知りたいことがあったの ...