PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPの配列からランダムな値を取得する方法|array_rand()関数の使い方

PHPで配列からランダムな値を取得するには、array_rand()関数を使います。この関数は配列からランダムなキーを返すため、そのキーを指定して対応する値にアクセスするのが基本の流れです。

array_rand()関数とは

array_rand()は、配列から1つ以上のランダムなキーを取り出すPHPの組み込み関数です。構文は以下の通りです。

array_rand( array $array, int $num = 1 ) : int|string|array
  • 第1引数: 対象となる配列を指定します。
  • 第2引数: 取得するキーの個数を指定します(省略可、デフォルトは1)。2以上を指定した場合は、ランダムなキーを格納した配列が返されます。

例1:配列から1つのランダムな値を取得する

まずは、連想配列から単一のランダムな値を取得するシンプルな例を見てみましょう。

<?php
   $arr = array( "p"=>"150", "q"=>"100", "r"=>"120", "s"=>"110", "t"=>"115", "u"=>"103", "v"=>"105", "w"=>"125" );
   echo "Array values ...\n";
   echo "Value 1 = " . $arr["p"], "\n";
   echo "Value 2 = " . $arr["q"], "\n";
   echo "Value 3 = " . $arr["r"], "\n";
   echo "Value 4 = " . $arr["s"], "\n";
   echo "Value 5 = " . $arr["t"], "\n";
   echo "Value 6 = " . $arr["u"], "\n";
   echo "Value 7 = " . $arr["v"], "\n";
   echo "Value 8 = " . $arr["w"], "\n";
   echo "Random value from array = ".$arr[array_rand($arr)];
?>

出力結果

上記のコードを実行すると、次のような出力が得られます(ランダムな値は実行のたびに変わります)。

Array values ...
Value 1 = 150
Value 2 = 100
Value 3 = 120
Value 4 = 110
Value 5 = 115
Value 6 = 103
Value 7 = 105
Value 8 = 125
Random value from array = 110

例2:配列から複数のランダムな値を取得する

array_rand()関数の第2引数に個数を指定すると、複数のランダムなキーを一度に取得できます。ここでは、2つのランダムな値を取得する別の例を紹介します。

<?php
   $arr = array( "p"=>"150", "q"=>"100", "r"=>"120", "s"=>"110", "t"=>"115", "u"=>"103", "v"=>"105", "w"=>"125" );
   echo "Array values ...\n";
   echo "Value 1 = " . $arr["p"], "\n";
   echo "Value 2 = " . $arr["q"], "\n";
   echo "Value 3 = " . $arr["r"], "\n";
   echo "Value 4 = " . $arr["s"], "\n";
   echo "Value 5 = " . $arr["t"], "\n";
   echo "Value 6 = " . $arr["u"], "\n";
   echo "Value 7 = " . $arr["v"], "\n";
   echo "Value 8 = " . $arr["w"], "\n";
   $res = array_rand($arr, 2);
   echo "Random values from array...";
   echo $arr[$res[0]]." ".$arr[$res[1]];
?>

出力結果

上記コードの実行結果は以下の通りです。

Array values ...
Value 1 = 150
Value 2 = 100
Value 3 = 120
Value 4 = 110
Value 5 = 115
Value 6 = 103
Value 7 = 105
Value 8 = 125
Random values from array...150 115

まとめ

PHPで配列からランダムな値を取得する際は、array_rand()関数が便利です。第2引数を省略すれば1つのランダムなキーが、個数を指定すれば複数のキーが配列形式で返されます。取得したキーを使って配列の値にアクセスするだけで、ランダムな要素を簡単に取り出せるため、くじ引きやシャッフル表示などさまざまな場面で活用できます。

  1. JavaScriptで円周率(PI)の値を取得する方法

    JavaScriptで円周率(π)の値を取得するには、Math.PIプロパティを使用します。このプロパティは、円周の長さと直径の比率である円周率を返し、その値は約3.14159です。Math.PIは定数として提供されているため、引数を取らず、値を変更することもできません。円の面積や円周の計算など、数学的な処理全般で幅広く活用できます。サンプルコード以下のコードを実行すると、JavaScriptでPIの値を取得して表示できます。<html>    <head>       <title>JavaScript M

  2. 【Android】Spinner(スピナー)で選択された値を取得する方法を徹底解説

    AndroidでSpinnerの値を取得するには? このチュートリアルでは、AndroidアプリでSpinner(スピナー/ドロップダウンリスト)からユーザーが選択した値を取得し、Toastで表示する方法をサンプルコード付きで解説します。Spinnerは、複数の選択肢の中から1つだけを選ばせたい場合に便利なUIコンポーネントです。 ステップ1:新規プロジェクトを作成する Android Studioを起動し、メニューから「File」→「New Project」を選択します。必要な項目をすべて入力して、新しいプロジェクトを作成しましょう。 ステップ2:レイアウトファイル(activity_