代码如下:
以下代码是将$mu 里面的列出三个数为一组的排列组合.此源码是朋友提供给我的,看不懂,我现在想列出四个数为一组的排列组合,应该怎么改呢.谢谢!
$mu=explode(",",$number1);for ($t=0;$t<count($mu)-1;$t=$t+1){
$mama.="/".$mu[$t].",".$number2;
}
$ff=explode("/",$mama);
$zzz="/1,1,1";
for ($p=1;$p<=count($ff);$p=$p+1){$un=explode(",",$ff[$p]);
for ($k=0;$k<=2;$k=$k+1){for ($t=0;$t<=1;$t=$t+1){if (intval($un[$t])>intval($un[$t+1])){$tmp=$un[$t+1];
$un[$t+1]=$un[$t];
$un[$t]=$tmp;
}
}
}
$x=$un[0].",".$un[1].",".$un[2];
$zzz=$zzz."/".$x;
}
}else{$mu=explode(",",$number1);$mamama="1,1,1";
for ($f=0;$f<count($mu)-1;$f=$f+1){
$t=0;
for ($t=0;$t<count($mu)-1;$t=$t+1){
if ($f!=$t and $f<$t){
$mama=$mama."/".$mu[$f].",".$mu[$t];
}
}
}
$ma=explode("/",$mama);
for ($f=0;$f<count($mu)-1;$f=$f+1){for ($t=0;$t<count($ma)-1;$t=$t+1){$ma11=explode(",",$ma[$t]);if ($ma11[0]!=$mu[$f] and $ma11[1]!=$mu[$f]){
if ($f!=$t and $f<$t){
$mamama=$mamama."#".$ma[$t].",".$mu[$f];
}
}
}
}$ff=explode("#",$mamama);
for ($p=0;$p<count($ff);$p=$p+1){$un=explode(",",$ff[$p]);
for ($k=0;$k<=2;$k=$k+1){
for ($f=0;$f<=1;$f=$f+1){
if ($un[$f]>$un[$f+1]){$tmp=$un[$f+1];
$un[$f+1]=$un[$f];
$un[$f]=$tmp;
}
}
}
$ff[$p]=$un[0].",".$un[1].",".$un[2];
}for ($f=0;$f<=count($ff);$f=$f+1){
if (strpos($zzz,$ff[$f])>0){}else{
$zzz=$zzz."/".$ff[$f];}

解决方案 »

  1.   

    改几个变量就应该可以了吧!把下边的复制替换试试看!
    我是这么想的哈~  共同学习for ($k=0;$k<=3;$k=$k+1){for ($t=0;$t<=2;$t=$t+1){if (intval($un[$t])>intval($un[$t+1])){$tmp=$un[$t+1];
    $un[$t+1]=$un[$t];
    $un[$t]=$tmp;
    }
    }
    }
    $x=$un[0].",".$un[1].",".$un[3];
    $zzz=$zzz."/".$x;
    }
    }else{$mu=explode(",",$number1);$mamama="1,1,1";
    for ($f=0;$f<count($mu)-1;$f=$f+1){
    $t=0;
    for ($t=0;$t<count($mu)-1;$t=$t+1){
    if ($f!=$t and $f<$t){
    $mama=$mama."/".$mu[$f].",".$mu[$t];
    }
    }
    }
    $ma=explode("/",$mama);
    for ($f=0;$f<count($mu)-1;$f=$f+1){for ($t=0;$t<count($ma)-1;$t=$t+1){$ma11=explode(",",$ma[$t]);if ($ma11[0]!=$mu[$f] and $ma11[1]!=$mu[$f]){
    if ($f!=$t and $f<$t){
    $mamama=$mamama."#".$ma[$t].",".$mu[$f];
    }
    }
    }
    }$ff=explode("#",$mamama);
    for ($p=0;$p<count($ff);$p=$p+1){$un=explode(",",$ff[$p]);
    for ($k=0;$k<=3;$k=$k+1){
    for ($f=0;$f<=2;$f=$f+1){
    if ($un[$f]>$un[$f+1]){$tmp=$un[$f+1];
    $un[$f+1]=$un[$f];
    $un[$f]=$tmp;
    }
    }
    }
    $ff[$p]=$un[0].",".$un[1].",".$un[2].","$un[3];
    }for ($f=0;$f<=count($ff);$f=$f+1){
    if (strpos($zzz,$ff[$f])>0){}else{
    $zzz=$zzz."/".$ff[$f];
      

  2.   

    你总要给出$number1,$number2的具体数据格式吧
      

  3.   

    $number1 和 $number2的格式如下   $number1="01,02,03,04,05,06,07"(数字最多15个) 全是数字 $number2也一样的
      

  4.   

    先整理一下你的代码格式,用UBB高亮显示代码,要不然看起来太吃力
      

  5.   

    $mu=explode(",",$number1);for ($t=0;$t<count($mu)-1;$t=$t+1){
    $mama.="/".$mu[$t].",".$number2;
    }
    $ff=explode("/",$mama);
    $zzz="/1,1,1";
    for ($p=1;$p<=count($ff);$p=$p+1){$un=explode(",",$ff[$p]);
    for ($k=0;$k<=2;$k=$k+1){for ($t=0;$t<=1;$t=$t+1){if (intval($un[$t])>intval($un[$t+1])){$tmp=$un[$t+1];
    $un[$t+1]=$un[$t];
    $un[$t]=$tmp;
    }
    }
    }
    $x=$un[0].",".$un[1].",".$un[2];
    $zzz=$zzz."/".$x;
    }
    }else{$mu=explode(",",$number1);$mamama="1,1,1";
    for ($f=0;$f<count($mu)-1;$f=$f+1){
    $t=0;
    for ($t=0;$t<count($mu)-1;$t=$t+1){
    if ($f!=$t and $f<$t){
    $mama=$mama."/".$mu[$f].",".$mu[$t];
    }
    }
    }
    $ma=explode("/",$mama);
    for ($f=0;$f<count($mu)-1;$f=$f+1){for ($t=0;$t<count($ma)-1;$t=$t+1){$ma11=explode(",",$ma[$t]);if ($ma11[0]!=$mu[$f] and $ma11[1]!=$mu[$f]){
    if ($f!=$t and $f<$t){
    $mamama=$mamama."#".$ma[$t].",".$mu[$f];
    }
    }
    }
    }$ff=explode("#",$mamama);
    for ($p=0;$p<count($ff);$p=$p+1){$un=explode(",",$ff[$p]);
    for ($k=0;$k<=2;$k=$k+1){
    for ($f=0;$f<=1;$f=$f+1){
    if ($un[$f]>$un[$f+1]){$tmp=$un[$f+1];
    $un[$f+1]=$un[$f];
    $un[$f]=$tmp;
    }
    }
    }
    $ff[$p]=$un[0].",".$un[1].",".$un[2];
    }for ($f=0;$f<=count($ff);$f=$f+1){
    if (strpos($zzz,$ff[$f])>0){}else{
    $zzz=$zzz."/".$ff[$f];}
     
     
     
      

  6.   

    <code=php>
    if ($_POST['pabc']==2){
    $mama="1,1,1";
    $number2=$_POST['dm1'].",".$_POST['dm2'];$zzclass33=$number2."组".$number1;$mu=explode(",",$number1);for ($t=0;$t<count($mu)-1;$t=$t+1){
    $mama.="/".$mu[$t].",".$number2;
    }
    $ff=explode("/",$mama);
    $zzz="/1,1,1";
    for ($p=1;$p<=count($ff);$p=$p+1){$un=explode(",",$ff[$p]);
    for ($k=0;$k<=2;$k=$k+1){for ($t=0;$t<=1;$t=$t+1){if (intval($un[$t])>intval($un[$t+1])){$tmp=$un[$t+1];
    $un[$t+1]=$un[$t];
    $un[$t]=$tmp;
    }
    }
    }
    $x=$un[0].",".$un[1].",".$un[2];
    $zzz=$zzz."/".$x;
    }
    }else{$mu=explode(",",$number1);$mamama="1,1,1";
    for ($f=0;$f<count($mu)-1;$f=$f+1){
    $t=0;
    for ($t=0;$t<count($mu)-1;$t=$t+1){
    if ($f!=$t and $f<$t){
    $mama=$mama."/".$mu[$f].",".$mu[$t];
    }
    }
    }
    $ma=explode("/",$mama);
    for ($f=0;$f<count($mu)-1;$f=$f+1){for ($t=0;$t<count($ma)-1;$t=$t+1){$ma11=explode(",",$ma[$t]);if ($ma11[0]!=$mu[$f] and $ma11[1]!=$mu[$f]){
    if ($f!=$t and $f<$t){
    $mamama=$mamama."#".$ma[$t].",".$mu[$f];
    }
    }
    }
    }$ff=explode("#",$mamama);
    for ($p=0;$p<count($ff);$p=$p+1){$un=explode(",",$ff[$p]);
    for ($k=0;$k<=2;$k=$k+1){
    for ($f=0;$f<=1;$f=$f+1){
    if ($un[$f]>$un[$f+1]){$tmp=$un[$f+1];
    $un[$f+1]=$un[$f];
    $un[$f]=$tmp;
    }
    }
    }
    $ff[$p]=$un[0].",".$un[1].",".$un[2];
    }for ($f=0;$f<=count($ff);$f=$f+1){
    if (strpos($zzz,$ff[$f])>0){}else{
    $zzz=$zzz."/".$ff[$f];}
    }
    }
    </code>
      

  7.   

    if ($_POST['pabc']==2){
    $mama="1,1,1";
    $number2=$_POST['dm1'].",".$_POST['dm2'];$zzclass33=$number2."组".$number1;$mu=explode(",",$number1);for ($t=0;$t<count($mu)-1;$t=$t+1){
    $mama.="/".$mu[$t].",".$number2;
    }
    $ff=explode("/",$mama);
    $zzz="/1,1,1";
    for ($p=1;$p<=count($ff);$p=$p+1){$un=explode(",",$ff[$p]);
    for ($k=0;$k<=2;$k=$k+1){for ($t=0;$t<=1;$t=$t+1){if (intval($un[$t])>intval($un[$t+1])){$tmp=$un[$t+1];
    $un[$t+1]=$un[$t];
    $un[$t]=$tmp;
    }
    }
    }
    $x=$un[0].",".$un[1].",".$un[2];
    $zzz=$zzz."/".$x;
    }
    }else{$mu=explode(",",$number1);$mamama="1,1,1";
    for ($f=0;$f<count($mu)-1;$f=$f+1){
    $t=0;
    for ($t=0;$t<count($mu)-1;$t=$t+1){
    if ($f!=$t and $f<$t){
    $mama=$mama."/".$mu[$f].",".$mu[$t];
    }
    }
    }
    $ma=explode("/",$mama);
    for ($f=0;$f<count($mu)-1;$f=$f+1){for ($t=0;$t<count($ma)-1;$t=$t+1){$ma11=explode(",",$ma[$t]);if ($ma11[0]!=$mu[$f] and $ma11[1]!=$mu[$f]){
    if ($f!=$t and $f<$t){
    $mamama=$mamama."#".$ma[$t].",".$mu[$f];
    }
    }
    }
    }$ff=explode("#",$mamama);
    for ($p=0;$p<count($ff);$p=$p+1){$un=explode(",",$ff[$p]);
    for ($k=0;$k<=2;$k=$k+1){
    for ($f=0;$f<=1;$f=$f+1){
    if ($un[$f]>$un[$f+1]){$tmp=$un[$f+1];
    $un[$f+1]=$un[$f];
    $un[$f]=$tmp;
    }
    }
    }
    $ff[$p]=$un[0].",".$un[1].",".$un[2];
    }for ($f=0;$f<=count($ff);$f=$f+1){
    if (strpos($zzz,$ff[$f])>0){}else{
    $zzz=$zzz."/".$ff[$f];}
    }
    }