ホームページ >バックエンド開発 >PHPチュートリアル >PHP 配列学習のランダムなソート、配列要素の破壊
前回の記事では、配列要素を降順にソートする方法を紹介しました。興味のある方はリンクをクリックしてご覧ください→「 PHP配列学習のヒント:配列関数を使用して配列をソートする」降順で! 》。では、特定のルールに従って昇順または降順に並べ替えるのではなく、元の順序を破棄して配列要素を破壊したいのはなぜでしょうか?どうすればよいでしょうか?
今日は、PHP 配列をランダムに並べ替える方法と、配列要素をランダムにシャッフルする方法を学びます。
それでは、どのように操作すればよいのでしょうか?実際、これは非常に簡単で、組み込み関数 shuffle() を直接使用して実現できます。 shuffle() 関数は、配列内の要素をランダムな順序で再配置します。
コード例を使用して、shuffle() 関数が配列をランダムにシャッフルする方法を見てみましょう。
<?php header("Content-type:text/html;charset=utf-8"); $arr1 = array(10, 23, 5, 12, 84, 16); shuffle($arr1); var_dump($arr1); $arr2= array("香蕉","苹果","梨子","橙子","橘子","榴莲"); shuffle($arr2); var_dump($arr2); ?>
出力結果:
結果を更新すると、結果が変わります:
注: shuffle() 関数は、配列をランダムにシャッフルするだけでなく、配列内の元のキー名を削除し、新しい数値キー名を割り当てます (つまり、インデックスは関係が維持されない)。
ランダムにスクランブルされたキー名の配列を保持したい場合は、array_keys() 関数を使用できます。
アイデア: array_keys() 関数を使用して、元の配列 $arr のすべてのキー名を取得すると、配列内のすべてのキー名を含む新しい配列 $key が返されます。次に、 shuffle() 関数を使用して $key 配列をランダムにシャッフルします。最後に、foreach ループを使用して $key 配列を走査し、$key 配列の値に基づいて $arr 配列のキーと値のペアを取得し、その値を $arr2 配列に 1 つずつ割り当てます。
実装コードを見てみましょう:
<?php header("Content-type:text/html;charset=utf-8"); $arr =array("香蕉","苹果","梨子","橙子","橘子","榴莲"); var_dump($arr); if (!empty($arr)) { $key =array_keys($arr); shuffle($key); foreach ($key as $value) { $arr2[$value] =$arr[$value]; } $arr =$arr2; } echo "随机打乱数组:"; var_dump($arr); ?>
出力結果:
今のところはここまでです。他に何かあれば知りたいこと はい、これをクリックしてください。 → →php ビデオ チュートリアル
最後に、PHP 配列に関する無料のビデオ チュートリアルをお勧めします。PHP 関数 配列 配列関数のビデオ説明、ぜひ学んでください。
以上がPHP 配列学習のランダムなソート、配列要素の破壊の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。