PHP array_rand() 関数
例
ランダムなキー名を含む配列を返します:
<?php $a=array("red","green","blue","yellow","brown"); $random_keys=array_rand($a,3); echo $a[$random_keys[0]]."<br>"; echo $a[$random_keys[1]]."<br>"; echo $a[$random_keys[2]]; ?>
定義と用法
array_rand() 関数は配列のランダムなキーを返します、または関数が複数のキーを返すことを指定した場合、ランダムなキーを含む配列を返します。
説明
array_rand() 関数は配列からランダムに1つまたは複数の要素を選択し、それを返します。
第2引数は、選択する要素の数を決定します。選択した要素が複数の場合、ランダムなキーを含む配列を返します。そうでない場合、その要素のキーを返します。
注釈:PHP 4.2.0 以降、ランダム数生成器に srand() または mt_srand() 関数を使用してシードする必要はなくなりました。今や自動的に完了されます。
文法
array_rand(array,number)
パラメータ | 説明 |
---|---|
array | 必須。配列を指定します。 |
number | オプション。返すランダムなキーの数を指定します。 |
技術的詳細
返り値: | 配列からランダムなキーを返します、または関数が複数のキーを返すことを指定した場合、ランダムなキーを含む配列を返します。 |
PHP バージョン: | 4+ |
更新履歴: |
PHP 4.2.0 以降、ランダム数生成器は自動的にシードされます。 PHP 5.2.10 以降、キー名をシャッフルする結果配列は使用されなくなりました。 |
さらに多くの例
例 1
配列からランダムなキーを返します:
<?php $a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); print_r(array_rand($a,1)); ?>
例 2
ランダムな文字列キーを含む配列を返します:
<?php $a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow"); print_r(array_rand($a,2)); ?>