ホームページ >バックエンド開発 >PHPの問題 >PHPでランダムな配列を生成する方法

PHPでランダムな配列を生成する方法

PHPz
PHPzオリジナル
2023-04-26 10:21:061163ブラウズ

PHP では、配列をランダムに生成する方法がたくさんありますが、その中で、array_rand() 関数を使用するのが最も簡単な方法の 1 つとなります。以下では、array_rand() 関数の使用法と、配列をランダムに生成するその他の方法を詳しく紹介します。

1. array_rand() 関数を使用する

array_rand() 関数は、配列から 1 つ以上のランダムなキー名を返すことができます。したがって、最初に配列を作成し、次に array_rand() 関数を使用してそこから 1 つ以上のキー名をランダムに返し、それらを使用して新しい配列を作成する必要があります。サンプル コードは次のとおりです。

<?php
$my_array = array("a" => "apple", "b" => "banana", "c" => "cherry", "d" => "durian");
$random_keys = array_rand($my_array, 2); // 随机返回2个键名
$random_array = array();
foreach ($random_keys as $key) {
    $random_array[$key] = $my_array[$key];
}
print_r($random_array);
?>

上記のコードは、まず 4 つの要素を含む連想配列 $my_array を作成し、次に array_rand() 関数を使用して 2 つのランダムなキー名を返します。次に、ランダム キー名をトラバースすることにより、対応する要素が新しい連想配列 $random_array にコピーされます。上記のコードを実行すると、次の出力が得られます。

Array
(
    [d] => durian
    [a] => apple
)

2. shuffle() 関数と array_slice() 関数を使用します。

shuffle() 関数は、要素をランダムにシャッフルできます。 array および array_slice () 関数は、配列内の要素の一部を返すことができます。したがって、最初に shuffle() 関数を使用して元の配列をスクランブルし、次に array_slice() 関数を使用して要素の一部を返すことで、ランダムに生成された配列を取得できます。サンプル コードは次のとおりです。

<?php
$my_array = array("apple", "banana", "cherry", "durian");
shuffle($my_array); // 打乱原数组的顺序
$random_array = array_slice($my_array, 0, 2); // 返回前2个元素
print_r($random_array);
?>

上記のコードは、まず 4 つの要素を含むインデックス配列 $my_array を作成し、次に shuffle() 関数を使用してそれらの順序をシャッフルします。最後に、array_slice() 関数を使用して最初の 2 要素を返し、ランダムに生成されたインデックス配列 $random_array を取得します。上記のコードを実行すると、次の出力が得られる場合があります:

Array
(
    [0] => cherry
    [1] => apple
)

3. range() 関数と shuffle() 関数を使用します

range() 関数は、連続した整数または文字を生成できます。 shuffle() ) 関数は、配列内の要素をランダムにシャッフルできます。したがって、まず range() 関数を使用して整数または文字の連続配列を生成し、次に shuffle() 関数を使用して順序を崩し、ランダムに生成された配列を取得します。サンプル コードは次のとおりです。

<?php
$my_array = range(1, 10); // 生成1到10这10个连续整数
shuffle($my_array); // 打乱它们的顺序
$random_array = array_slice($my_array, 0, 3); // 返回前3个元素
print_r($random_array);
?>

上記のコードは、10 個の連続する整数を含む配列 $my_array を生成し、その順序をシャッフルして、最初の 3 つの要素を返して、ランダムに生成されたインデックス配列 $random_array を取得します。上記のコードを実行すると、次の出力が得られる場合があります:

Array
(
    [0] => 7
    [1] => 5
    [2] => 1
)

概要:

上記の 3 つの方法は、配列をランダムに生成するために使用でき、シナリオごとに異なる方法が適しています。 array_rand() 関数は連想配列から要素をランダムに選択するのに適しており、shuffle() 関数は既存の配列の順序をシャッフルするのに適しており、range() 関数は一連の連続する整数をランダムに生成するのに適しています。性格の状況。特定の状況に応じて、さまざまな方法を選択する必要があります。

以上がPHPでランダムな配列を生成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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