ホームページ >バックエンド開発 >PHPチュートリアル >複数の要素をランダムに取得するための PHP 配列の学習
前回の記事では、配列要素をランダムにシャッフルする方法を紹介しましたので、興味のある方は→「PHP配列学習: ランダムソート、配列要素のシャッフル 」をご覧ください。次の記事では、ランダム性について説明し、1 つ以上の配列要素をランダムに取得する方法を紹介します。
実はPHPにはarray_rand()という配列関数があり、ランダムに取得する機能なのですが、配列のキー名は1つ以上取得できるだけで、キー値は取得できません。
array_rand() は配列のキー値を直接取得できませんが、array_rand() で取得したランダムなキー名を使用し、さらに数行のコードを追加することで要素 (キー名とキー値の両方) をランダムに取得できます。 )。
実装コードを見てみましょう:
<?php
$arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$rand = array_rand($arr);
$arr2[$rand]=$arr[$rand];
var_dump($arr2);
?>出力結果:
次のことがわかります。ランダムにのみ取得します 要素。 array_rand($arr) ステートメントではランダムに 1 つのキー名しか取得できないため、複数のキー名を取得するにはどうすればよいでしょうか?
array_rand() 関数に設定する必要があるのは 2 つのパラメータだけです。最初のパラメータ $array は配列を指定し、2 番目のパラメータ $number は数値を指定します取得するキー名の数。
<?php
$arr=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$rand = array_rand($arr,3);
foreach($rand as $val){
$arr2[$val]=$arr[$val];
}
var_dump($arr2);
?>array_rand() 関数は複数のキー名を取得すると、ランダムなキー名を含む配列を返します。
このように、foreach ステートメントを使用して $rands 配列を走査し、## 内のキー名に基づいて $arrs から継続的に開始できます。 #$rands 配列。配列から値を取得し、それを新しい配列 $arr2 に割り当てるだけです。出力を見てみましょう:

$number)が$arrayの長さを超える場合、E_WARNINGエラーが発生し、NULLが返されます。
PHP 関数 配列 配列関数のビデオ説明、ぜひ学んでください。
以上が複数の要素をランダムに取得するための PHP 配列の学習の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。