ホームページ >バックエンド開発 >PHPチュートリアル >PHP配列をシャッフルした後、元の要素のインデックスを保持するにはどうすればよいですか?
PHP shuffle() 関数は配列要素の順序をシャッフルできますが、元のインデックスは保持されません。インデックスは、次の方法で保存できます。 1. 新しい配列を作成し、要素をシャッフルします。 2. ksort() 関数を使用して、シャッフルされた配列を並べ替えます。
#PHP は配列の順序をシャッフルした後も元のインデックスを保持します
PHP はshuffle()## を提供します# 関数、配列内の要素の順序をランダムにシャッフルできます。ただし、この関数は要素の順序をシャッフルするだけで、元のインデックスは保持しないことに注意してください。
## 順序をシャッフルする:
$original = ['foo', 'bar', 'baz'];次に、シャッフルされた配列を取得できます:
shuffle($original);さて、次のようにします。元のインデックスを保持したい場合は、次の方法を使用できます。
方法 1: 新しい配列を作成する
$shuffled = ['baz', 'bar', 'foo'];
方法 2: ksort()
# を使用します。 ##ksort()
この関数は、並べ替えられた配列をペアにすることができます。この機能を使用して、元のインデックスを保存できます。
$newArray = array_values($original); shuffle($newArray);
上記の 2 つの方法はどちらも元のインデックスを保存できますが、方法 1 の方が単純で、方法 2 の方が一般的です。
以上がPHP配列をシャッフルした後、元の要素のインデックスを保持するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。