php 随机排序问题

A数组100个数 B数组也是100个数

要求让A数组里的元素和B数组里的元素随机配对

要配对25种方式,并且不能重复,例如A数组里的张三 对应了B数组里的陈好 那么 这个配对在这25种里只能出现一次, 如何解决呢 可以借助mysql

阅读 2k
2 个回答
 public function test($arr=array(),$A=array(),$B=array())
    {
        if(empty($A)){
            $A = array(1,2,3,4,5,6,7,8,9,10);
        }
        if(empty($B)){
            $B = array(1,2,3,4,5,6,7,8,9,10);
        }

        $A_key = array_rand($A,1);
        $B_key = array_rand($B,1);
        $C = $A[$A_key]."-".$B[$B_key];
        if(!in_array($C,$arr)){
            $arr[] = $C;
            unset($A[$A_key]);
            unset($A[$B_key]);
        }
        $count = count($arr);
        if($count==5){
            return $arr;
            exit();
        }
        $this->test($arr,$A,$B);
    }

写了一个例子,你可以看看

先把两个数组的数生成一个1-100的随机序列,再1-1,2-2配对
下一种1-2,2-3,,,,99-100,100-1以此类推..

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题