PHP 配列のランダム シャッフルと逆順
最初の 2 つの記事「PHP 配列を並べ替える方法」と「PHP 配列の逆順」では、2 つの関数セット (1 つは昇順) が紹介されました。逆順(降順)のセット 今回は配列のランダム順と逆順を紹介します!
1. ランダムシャッフルとは何ですか? (シャッフル)
シャッフルとは、配列をスクランブルすることです。
シャッフル関数を使用して、配列内の要素をランダムに並べ替えます。
シャッフル構文構造は次のとおりです:
bool shuffle ( array &$array )
パラメータ | 説明 |
配列 | 必須。適応する配列を指定します。 |
この関数は、配列をスクランブル (セルの順序をランダムに配置) します。 擬似乱数ジェネレーターを使用するため、暗号化の状況には適していません。
shuffle インスタンスの使用法:
shuffle 関数を詳しく説明するために例を示します。具体的なコードは次のとおりです。
<?php header("Content-Type:text/html; charset=utf-8"); $arr=array("name" => "PHP中文网", "url" => "www.php.cn", "tom" => "100","hank" => "60"); shuffle($arr); // 将数组的值随机排序 print_r($arr); ?>
出力結果は次のとおりです:
上記の例の出力結果は次のとおりです。ブラウザが更新されるたびに異なります。ここではスクリーンショットを撮る必要はありません。ローカルで試すことができます。
説明: 上の例からわかるように、連想配列がシャッフルされるとキーは失われます。
2. 逆順とは何ですか? (array_reverse)
array_reverse - 単位の順序を逆にした配列を返します。 逆順序とは、元の配列の各要素の順序を逆にすることです。
array_reverse 構文は次のとおりです。 () は配列 array を入力として受け取り、セルを逆順にした新しい配列を返します。preserve_keys が TRUE の場合、元のキー名が保持されます。
手順:1. 逆順 ≠ 降順
2. キーが文字の場合、逆順は影響を受けません。キーは引き続き保持されます
キーが数値の場合、デフォルトのキーは逆順で 0、1、2 にリセットされます...
2 番目のパラメータが true の場合、キーは数値、逆の順序では数値キーが保持されます
見てみましょう キーが数値の場合の
のサンプルコード:array array_reverse ( array $array [, bool $preserve_keys = false ] )
key は数値です
サンプルコード:
<?php header("Content-Type:text/html; charset=utf-8"); $arr=array("100" => "PHP中文网", "200" => "www.php.cn", "300" => "百度","400" => "搜狗"); $array = array_reverse($arr);//数组反序,将数组的元素反转 print_r($arr); echo "<br>"; print_r($array); ?>
出力結果は次のとおりです:
上記のコードから、
キーが数値の場合、キー値が保持されることがわかります。これは 2 番目のパラメーターを意味します。 array_reverse の値は true!
キーは文字の場合です
サンプルコード:<?php header("Content-Type:text/html; charset=utf-8"); $arr=array("100" => "PHP中文网", "200" => "www.php.cn", "300" => "百度","400" => "搜狗"); $array = array_reverse($arr,true);//数组反序,将数组的元素反转 print_r($arr); echo "<br>"; print_r($array); ?>
array_reverse関数で配列反転を行うと、キー値が文字列の場合、キー値は保持されました!
注: array_reverse 関数を使用する場合、元の配列は影響を受けず、新しい配列が返されます。この記事では、配列の逆順と無秩序について説明しました。配列の等分割と置き換えについて紹介します。詳しくは「PHP 配列の等分割と配列の一部の置き換え
」を読んでください。【関連チュートリアルの推奨事項】
php array (Array)」以上がPHP配列のランダムシャッフルと逆順の例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。