php怎样让随机结果不等于前一次?

解决方案 »

  1.   

    记录最近一次取的值,存到一个SESSION变量中,代码执行时跟变量中的值比较一下,如果相同,再打乱数组。
      

  2.   

    没用过session,能否写一下代码?
      

  3.   


    session_start();
    $arr = array(1, 2, 3);
    shuffle($arr);
    while(isset($_SESSION['shuffle']) && $arr[0] == $_SESSION['shuffle']){
    shuffle($arr);
    }
    $_SESSION['shuffle'] = $arr[0];
    echo $arr[0];
      

  4.   

    session_start();$arr = array(1,2,3,4);
    if (!isset($_SESSION['lastVal'])) {
       shuffle($arr);
       $_SESSION['lastVal'] = $arr[0];
       echo $arr[0];
    }
    else {
       shuffle($arr);
       while($arr[0] == $_SESSION['lastVal']) {
          shuffle($arr);
          if ($arr[0] != $_SESSION['lastVal']) break;
       }
       $_SESSION['lastVal'] = $arr[0];
       echo $arr[0];
    }