【PHP】array_rand()関数の使い方|配列からランダムなキーを取得する方法
array_rand() 関数は、配列から1つ以上のランダムなキーを取得するためのPHP組み込み関数です。配列の中から要素を無作為に選びたい場合に便利で、くじ引きやシャッフル表示などの実装によく使われます。
基本構文
array_rand(array $array, int $num = 1)
パラメータ
arr(第1引数):対象となる配列を指定します。
count(第2引数):取得したいランダムキーの数を指定します。省略した場合はデフォルト値の
1が適用されます。
戻り値
array_rand() 関数は、選択されたランダムなキーを返します。
第2引数が
1の場合(または省略した場合):単一のキーを返します。第2引数が
2以上の場合:ランダムなキーを格納した配列を返します。
なお、配列が空の場合はエラー(警告)が発生するため、事前に配列の存在チェックを行うことが推奨されます。
使用例①:キーを1つだけ取得する
次の例では、配列からランダムに1つのキーを取得しています。
<?php
$arr = array("p"=>"mobile","q"=>"laptop","r"=>"tablet");
print_r(array_rand($arr, 1));
?>
出力結果
r
使用例②:複数のキーを取得する
第2引数に 2 を指定すると、重複しない複数のキーが配列として返されます。
<?php
$arr = array("p"=>"mobile","q"=>"laptop","r"=>"tablet");
print_r(array_rand($arr, 2));
?>
出力結果
Array (
[0] => p
[1] => q
)
まとめ
array_rand() 関数を使えば、配列から簡単にランダムなキーを抽出できます。ポイントは以下の通りです。
第2引数を省略または
1にすると、単一のキーが返る。第2引数に
2以上を指定すると、キーの配列が返る。返されるのはキーであり、値ではない点に注意が必要です。値そのものが必要な場合は、取得したキーを使って
$arr[$key]のように参照しましょう。
-
PHPのarray_reverse()関数の使い方を解説!配列を逆順にする方法
PHPのarray_reverse()関数は、配列の要素を逆順に並べ替えた新しい配列を返す関数です。元の配列は変更されず、要素の順序が反転した結果のみを受け取ることができます。構文array_reverse(arr, preservekey)パラメータarr − 逆順にしたい対象の配列を指定します。preservekey − 配列のキーを保持するかどうかを指定します。TRUEまたはFALSEの値を取ります。省略した場合(デフォルトはFALSE)は、キーが振り直され数値キー(0、1、2…)になります。TRUEを指定すると、元のキーと値の対応関係がそのまま維持されます。戻り値array_rever
-
PHPのarray()関数とは?配列の作成方法をわかりやすく解説
PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に