ホームページ >バックエンド開発 >PHPチュートリアル >PHP は配列をシャッフルし、キー名を保持します
PHP エディタ Xinyi では、配列をシャッフルしてキー名を保持するという興味深い配列操作方法を紹介します。 PHP では、shuffle 関数を使用して配列要素のランダムな配置を簡単に実現できますが、インデックスは再割り当てされます。元のキー名を保持したい場合は、まず array_keys 関数を使用してキー名の配列を取得し、それを値の配列と一緒にスクランブルし、最後に array_combine 関数を使用して新しい配列に再結合します。このようにして、キー名を保持したまま配列要素をランダムに配置することができます。
PHP は配列をシャッフルし、キー名を保持します
php では、shuffle() 関数を使用して配列の順序をシャッフルしますが、キー名は保持されません。キー名を保持するには、次の方法を使用できます:
方法 1: array_rand() を使用する
方法 2: mt_rand() を使用する
方法 3: サードパーティ ライブラリを使用する
ArrayLib などのサードパーティ ライブラリは、配列をシャッフルしてキー名を保持するためのより便利な方法を提供します。
ArrayLibArrays を使用します。
$array = ["a" => 1、"b" => 2、"c" => 3];
$shuffled_array = 配列::shuffle($array);
パフォーマンスの比較
これら 3 つの方法のパフォーマンスには違いがあります:
array_rand()
mt_rand()サードパーティのライブラリは通常、ネイティブの PHP 関数よりも優れたパフォーマンスを発揮します。
配列を中断してキー名を保持することは、次のシナリオで役立ちます:
各要素のキーにアクセスする必要がある一方で、配列内の要素の順序を変更する必要がある場合。
と mt_rand() は値ではなくキーを返します。値を取得するには
$array[$key]サードパーティのライブラリは、使用する前にインストールする必要がある場合があります。
元の配列が変更されないように、シャッフルする前に必ず配列をコピーしてください。
以上がPHP は配列をシャッフルし、キー名を保持しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。