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
関連記事
-
-
VONAGEとPHPでショートメッセージ(SMS)を送信する方法
PHPからショートメッセージ(SMS)を送信してみたかった。また、SMS送信は基 ...
-
-
PHPのOpenSSL関数で文字列の暗号・復号化を行う方法
だいぶ前にPHPでBlowfishアルゴリズムを用いた暗号化と復号化する方法をメ ...
-
-
PHPにてhosts設定を行った上で他サイト・サーバにアクセスする方法
開発中の案件だとhosts設定を行ってサーバにアクセスする、ということがある。作 ...
-
-
Composer無し&ファイル1枚でPHPのエラーメッセージ画面をリッチにするライブラリ「PHP Error」の利用方法
先日PHPのエラーメッセージを見やすくするwhoopsの利用方法をメモしたが導入 ...
-
-
PHPで日時のフォーマットをISO 8601型とDateTime型を相互に変換する方法
他社のAPI等のレスポンスで日時部分が「YYYY-MM-DDTHH:II:SSZ ...