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
関連記事
-
-
CSVファイルを使って郵便番号から住所を抽出する
■ソース <? error_reporting(E_ALL & ~ ...
-
-
PHPで画像のフォーマット(拡張子)の変換
画像のアップロードでjpg/png/gif形式を受け付けつつ、 最終的にjpgで ...
-
-
PHPで簡単にカレンダーを生成できるライブラリ「PHP Calendar」の利用方法
PHPでカレンダーを描写したいということがたまにある。今までバニラPHPで書いて ...
-
-
Stripe Checkoutにてクレジットカード決済の際に3Dセキュア対応にする方法
先日Stripe Checkoutを用いたクレジットカード決済機能についてメモし ...
-
-
MySQLとPHPの「image-comparator」ライブラリを使用して類似画像検索を実装する方法
先日PHPで画像を比較して類似度を算出する「image-comparator」ラ ...