php从数组中随机取一个数,如何用PHP实现在数组中随机取出指定个数的子集

本篇文章是关于如何用PHP实现在数组中随机取出指定个数的子集的介绍,具有一定的参考价值,有需要的朋友可以看看。

#关键:array_rand() 函数返回数组中的随机键名,或者如果您规定函数返回不只一个键名,则返回包含随机键名的数组。

#思路:先使用array_rand()随机取出所需数量键名,然后将这些键名指向的值重新组合为数组

/**

* 数组中取出随机取出指定数量子值集

* @param $array array

* @param $count int

* @return array

*/

function rand_arr_from_array($array, $count)

{

!is_int($count) && $count = intval($count);

if ($count < 0) return false;

$_arr_return = array();

if ($count >= count($array)) {

$_arr_return = $array;

} else if ($count > 0) {

$temp = array_rand($array, $count);//随机返回指定数量键值 $count > 1 返回键值数组,$count = 1 返回键值字符串,

if ($count == 1) $temp = array($temp);

//重组数组

foreach ($temp as $val) $_arr_return[] = $array[$val];

}

return $_arr_return;

}

$_arr_str = array('你', '看', '我', '哪', '里', '像', '好', '人');

$_count_random = '3';

print_r(rand_arr_from_array($_arr_str, $_count_random));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值