PHP配列をシャッフルした後、元の要素のインデックスを保持するにはどうすればよいですか?

WBOY
リリース: 2024-05-03 10:09:01
オリジナル
591 人が閲覧しました

PHP shuffle() 関数は配列要素の順序をシャッフルできますが、元のインデックスは保持されません。インデックスは、次の方法で保存できます。 1. 新しい配列を作成し、要素をシャッフルします。 2. ksort() 関数を使用して、シャッフルされた配列を並べ替えます。

PHP配列をシャッフルした後、元の要素のインデックスを保持するにはどうすればよいですか?

#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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート