首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • PHP随机分组的问题 。 [已结贴,结贴人:simon803]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 08:57:19 楼主
    如果有10个人,随机分成2人一组 。
    怎么写 ?
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 09:26:501楼 得分:0
    随机给10个人编号,然后按大小排序,再截取前面的5个人
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 13:02:212楼 得分:0
      是2个人一组 。 分5组
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-05-08 13:58:193楼 得分:20
    <?php
    function getArray($array,$str){
    if(count($array)>1){
    $b=array_rand($array,2);
    $newArray=doArray($array,$array[$b[0]],$array[$b[1]]);
    if($str==""){
    $newstr=$array[$b[0]]." ¦".$array[$b[1]];
    }else $newstr=$str.",".$array[$b[0]]." ¦".$array[$b[1]];
    return getArray($newArray,$newstr);
    }else return $str;
    }
    function doArray($array,$str1,$str2){
    $count=count($array);
    $newArray="";
    for($i=0;$i <$count;$i++){
    if($str1!=$array[$i] && $str2!=$array[$i]){
    if($newArray=="")
    $newArray=$array[$i];
    else $newArray=$newArray.",".$array[$i];
    }
    }
    $newArray=explode(",",$newArray);
    return $newArray;
    }
    $a=array("a","b","c","d","e","f","g","h","i","j");
    //$a=array(1,2,3,4,5,6,7,8,9,10);
    srand(microtime() * 100000);
    $c=getArray($a,"");
    echo $c;
    ?>

    $a是初始数组,随便你自己定个数与参数,函数会把你2个随机分割
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dreambird1983
    • 等级:
    发表于:2008-05-08 14:28:224楼 得分:0
    不用这么麻烦吧

    1.
      shffle() -> array_pop两个 -> shffle() -> array_pop两个......


    2.
      array_rand($arr , 2) =》 unset取出的元素  =》 array_rand($arr , 2) =》 unset取出的元素....
     
     
     

    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved