ホームページ >バックエンド開発 >PHPチュートリアル >PHP で array_rand 関数を使用して配列内の複数の要素をランダムに取得する方法

PHP で array_rand 関数を使用して配列内の複数の要素をランダムに取得する方法

PHPz
PHPzオリジナル
2023-06-26 13:46:421039ブラウズ

PHP の array_rand 関数は、配列内の要素をランダムに取得するのに役立つ非常に実用的な関数です。実際の開発では、配列内の単一の要素を取得するためにこの関数を使用することが多いと思いますが、実は複数の要素を取得することもできます。

array_rand 関数を使用する場合、配列と取得するランダムな要素の数という 2 つのパラメーターを渡す必要があります。たとえば、10 個の要素を含む配列があり、3 つの要素をランダムに取得する必要がある場合、次のコードを使用できます:

$arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$rand_keys = array_rand($arr, 3);

この例では、$rand_keys は 3 つのランダムなキー名を含む配列です。 、これら 3 つのキー名は、$arr 配列で選択された 3 つの要素のキー名に対応します。

これらのキー名を使用して、対応する要素の値を取得できます。たとえば:

echo $arr[$rand_keys[0]]; // 随机获取到的第一个元素
echo $arr[$rand_keys[1]]; // 随机获取到的第二个元素
echo $arr[$rand_keys[2]]; // 随机获取到的第三个元素

複数の要素を含むネストされた配列内のランダムな要素を取得したい場合は、array_rand を使用することもできます。関数。たとえば、次のような入れ子になった配列があります:

$arr = [
    ['name' => '小明', 'age' => 18],
    ['name' => '小红', 'age' => 19],
    ['name' => '小刚', 'age' => 20],
    ['name' => '小丽', 'age' => 21],
];

その中の 2 つの要素をランダムに取得する必要がある場合は、次のコードを使用できます:

$rand_keys = array_rand($arr, 2);
$rand_arr = [];
foreach ($rand_keys as $key) {
    $rand_arr[] = $arr[$key];
}

上記の例では、$rand_keys は次のとおりです。 a 2 つのランダムなキー名を含む配列。foreach を使用して $rand_keys を走査し、対応するキー名の要素値を取得し、ランダムに選択された 2 つの要素を含む新しい配列 $rand_arr を形成します。

print_r($rand_arr);
// 输出结果可能为:
// Array (
//  [0] => Array ( [name] => 小刚 [age] => 20 )
//  [1] => Array ( [name] => 小明 [age] => 18 )
// )

要約すると、PHP の array_rand 関数を使用して配列内の複数の要素をランダムに取得するには、取得するランダムな要素の数を渡すことで実現できます。取得されたランダムな要素は元の配列のキー名に対応しており、これらのキー名を通じて対応する要素の値を取得できます。ネストされた配列の場合、foreach 走査で取得したランダムなキー名を使用して、対応する要素の値を取得し、新しい配列を形成できます。

以上がPHP で array_rand 関数を使用して配列内の複数の要素をランダムに取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。