热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

关键: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 &#61; array();

if ($count >&#61; count($array)) {

$_arr_return &#61; $array;

} else if ($count > 0) {

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

if ($count &#61;&#61; 1) $temp &#61; array($temp);

// 重组数组

foreach ($temp as $val) $_arr_return[] &#61; $array[$val];

}

return $_arr_return;

}

$_arr_str &#61; array(&#39;你&#39;, &#39;看&#39;, &#39;我&#39;, &#39;哪&#39;, &#39;里&#39;, &#39;像&#39;, &#39;好&#39;, &#39;人&#39;);

$_count_random &#61; &#39;3&#39;;

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

// Array ( [0] &#61;> 你 [1] &#61;> 看 [2] &#61;> 好 )

?>



推荐阅读
author-avatar
mobiledu2502878137
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有