我在网上找了一个算法,觉得shuffle()和for都有点多余,
public function get_random($dot) {
        $dot = intval($dot);
        $dot = max($dot,0);
        $dot = min($dot,100);        $one = rand(1,100);
        $total = range(1,100);
        shuffle($total);
        $range = array();
        for($i=0; $i<$dot; $i++) {
            $range[] = $total[$i];
        }
        return in_array($one,$range);
}
改了一下,运行也正常。不知道逻辑有没有问题。
public function get_random2($dot) {
        $dot = intval($dot);
        $dot = max($dot,0);
        $dot = min($dot,100);        $one = rand(1,100);
        $total = range(1,$dot);
        return in_array($one,$total);
}
还有大家有没有更好的算法???