比如我的数组是[1] => Array
        (
            [0] => 小明
            [1] => 小红
            [2] => 小白
            
        )
 
    [2] => Array
        (
            [0] => xiaoming
            [1] => xiaohong
            [2] => xiaobai
            )
怎么打乱这个数组的顺序,又不打乱两者的对应关系

解决方案 »

  1.   

    $ar = array(
      1 => Array(
        0 => '小明',
        1 => '小红',
        2 => '小白',
      ),
      2 => Array(
        0 => 'xiaoming',
        1 => 'xiaohong',
        2 => 'xiaobai',
      ),
    );$rk = array_keys($ar[1]);
    shuffle($rk);foreach($rk as $k) {
      $res[1][] = $ar[1][$k];
      $res[2][] = $ar[2][$k];
    }
    print_r($res);
    Array
    (
        [1] => Array
            (
                [0] => 小红
                [1] => 小明
                [2] => 小白
            )    [2] => Array
            (
                [0] => xiaohong
                [1] => xiaoming
                [2] => xiaobai
            ))
      

  2.   

    用了shuffle是不是每次刷新都要换顺序,有没有只有一次乱序的方法?
      

  3.   

    本帖最后由 PhpNewnew 于 2012-03-30 08:36:02 编辑