ホームページ  >  記事  >  バックエンド開発  >  複数の要素をランダムに取得するための PHP 配列の学習

複数の要素をランダムに取得するための PHP 配列の学習

青灯夜游
青灯夜游オリジナル
2021-08-05 18:13:426036ブラウズ

前回の記事では、配列要素をランダムにシャッフルする方法を紹介しましたので、興味のある方は→「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);
?>

出力結果:

複数の要素をランダムに取得するための PHP 配列の学習

次のことがわかります。ランダムにのみ取得します 要素。 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 に割り当てるだけです。出力を見てみましょう:

複数の要素をランダムに取得するための PHP 配列の学習

更新すると結果が変わります:

複数の要素をランダムに取得するための PHP 配列の学習

注: array_rand()取得した数(

$number)が$arrayの長さを超える場合、E_WARNINGエラーが発生し、NULLが返されます。

複数の要素をランダムに取得するための PHP 配列の学習

わかりました。これですべてです。他に知りたいことがあれば、これをクリックしてください。 → →

php ビデオ チュートリアル

最後に、PHP 配列に関する無料のビデオ チュートリアルをお勧めします。

PHP 関数 配列 配列関数のビデオ説明、ぜひ学んでください。

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

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