PHP 方法整合类

本文主要记载一些自己使用的方法,会随时更新。

主要是自己的东西存放太乱,这里做一个整理。

1.PHP根据概率产生随机数

本方法借鉴:壁虎漫步。 大大的博客。

原文链接:https://www.cnblogs.com/phpfensi/p/4242293.html

代码如下:

$data = array(
    'a' => 10 ,
    'b' => 20 ,
    'c' => 30 ,
    'd' => 40
);
echo randomSelect( $data ); 
   
function randomSelect( &$array ){
    $datas = $array ;
    if( !is_array($datas) || count($datas) == 0 )
        return ;
    asort($datas); //按照大小排序
    $random = rand(1,100);
    $sum = 0 ;
   
    $flag = '';
    foreach($datas as $key => $data ){
        $sum += $data ;
        if( $random <= $sum ){
            $flag = $key;
            break ;
        }
    }
    if( $flag == '' ){ // 如果传递进来的值的和小于100 ,则取概率最大的。
        $keys = array_keys($datas);
        $flag = $keys[count($keys) - 1] ;
    }
    return $flag;
}

  

先忙了,用到的方法会随时更新。

2019年12月11日。

猜你喜欢

转载自www.cnblogs.com/YFYQ/p/12021470.html