比如指定一组数是$arr = array(11,24,512,147,845,144,114,145,147,874),这组数保证无重复,也无规律
现在要求随机的从这组数里挑选5个数~~~~~怎么处理?

解决方案 »

  1.   


    $arr=array(11,24,512,147,845,144,114,145,147,874);
    $count=count($arr);
    for($i=0;$i<5;$i++){
    $num=random(0,$count-1);
    echo $arr[$num]."<br>";
    }
      

  2.   


    $arr=array(11,24,512,147,845,144,114,145,147,874);
    $count=count($arr);
    for($i=0;$i<5;$i++){
    $num=rand(0,$count-1);
    echo $arr[$num]."<br>";
    }上面函数用错了,改正下
      

  3.   

    $arr=array(11,24,512,147,845,144,114,145,874);
    $rand_keys = array_rand($arr, 5);
    print $input[$rand_keys[0]] . "\n";
    print $input[$rand_keys[1]] . "\n";
    ...
      

  4.   

    shuffle($arr);
    $arr=array_slice($arr,5);
      

  5.   

    $arr=array(11,24,512,147,845,144,114,145,874);
    $rand_keys = array_rand($arr, 5);
    print $arr[$rand_keys[0]] . "\n";
    print $arr[$rand_keys[1]] . "\n";
    print $arr[$rand_keys[2]] . "\n";
    print $arr[$rand_keys[3]] . "\n";
    print $arr[$rand_keys[4]] . "\n";
      

  6.   

    <pre>
    <?php
    function array_rand_($array,$num) {
    return array_intersect_key($array,array_flip(array_rand($array,$num)));
    }
    $arr = array(11,24,512,147,845,144,114,145,147,874);
    var_dump(array_rand_($arr,5));
    ?>
    </pre>
      

  7.   

    $rand_keys = array_rand($arr, 5);
    $rand_keys返回的是数组而$rand_keys = array_rand($arr, 1);返回的仅是一个整数