LoginSignup
5

More than 5 years have passed since last update.

【PHP】配列から指定したエントリの数のバリューをランダムに抽出する

Posted at

前書き

既知のメソッドがあるかなーと思ったらなかったので、作りました。

code

array_rand_value.php
/**
 * 配列から指定したエントリの数のバリューをランダムに抽出する
 * 
 * @param array $array 抽出元の配列
 * @param int $num 取得する要素数
 * @return array 抽出後の配列
 */
function array_rand_value($arr, $num = 1)
{
    if ($num >= count($arr)) {
        return $arr;
    }

    $result = array();
    $rand_keys = array_rand($arr, $num);
    foreach ($rand_keys as $key) {
        $result[] = $arr[$key];
    }

    return $result;
}

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
5