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

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

青灯夜游
リリース: 2023-04-10 14:22:02
オリジナル
6164 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート