玄元一墨 发表于 2023-2-18 21:51:21

PHP随机抽取数组元素

随便写的一个随机抽取数组中一个或多个元素的方法(其实是因为想要随机抽几个同学来做些事情,咱好歹也是个课代表,嘤嘤嘤)
这些代码其实很好理解,就是先用count获取数组的元素数量,然后用rand随机一个0到这个范围内的数作为键名即可。
这个方法已经放入1.105的摇光框架工具函数库中。


代码如下:

    /**
   * 方法: 随机数组中的某个元素
   * @param Array $eleList 需要随机取元素的数组,必须为索引数组.
   * @param Int $getRanNum 随机取的元素个数,默认为一个 (可选).
   * @return Array 随机元素.
   */
    function randGetArrEle($eleList , $getRanNum = 1){
      $getRanEle = [];
      $eleNum = count($eleList);

      for($getRanNum; $getRanNum > 0; $getRanNum--){
            $arrKey = rand(0 , $eleNum-1);
            //检测是否和已经选中的冲突
            while(in_array($eleList[$arrKey] , $getRanEle)){
                $arrKey = rand(0 , $eleNum-1);
            }
            array_push($getRanEle , $eleList[$arrKey]);
      }
      return $getRanEle;
    }


页: [1]
查看完整版本: PHP随机抽取数组元素