Posted at

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

More than 3 years have passed since last update.


前書き

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


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;
}