前回の記事では、配列要素をランダムにシャッフルする方法を紹介しましたので、興味のある方は→「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 サイトの他の関連記事を参照してください。