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
関連記事
-
-
WordPressにてPHPのAPCuを使用して高速化を図る方法
先日本サイトのサーバにAPCuを導入した。しかしながら所感にも書いたとおりAPC ...
-
-
PHPで他サーバにHTTP経由にてファイルをアップロードする方法
formで画像を送信した後、他サーバにファイルをアップロードしたかった。以前はP ...
-
-
PHPでユーザID毎にディレクトリを作成しキャッシュファイルを格納する方法
PHPで作ったプログラム内にてユーザーID毎に特定のディレクトリを作成し、その中 ...
-
-
HTMLにてaタグクリック時にping属性のデータをPHPで受け取る方法
HTMLのaタグにping属性というものを設定できるらしく、設定したリンクをクリ ...
-
-
PHPで「Warning: date(): It is not safe to…」エラーの対応方法
PHPでdate関数を使った際に「Warning: date(): It is ...