这个不限定的,只是举例,就是一个竞猜的连胜纪录,排列,如果连续三次猜中,则记录这三次的id,如果中间猜错了,后面又猜对了,则记录后面几天的id

解决方案 »

  1.   

    $s = '1,2,3,7,8';
    $ar = explode(',', $s);
    $arr = array();
    foreach($ar as $v){
        $c = count($arr);
       if($v == 1 || ($v != end($arr[$c-1]) +1)){ 
         $arr[][] = $v;
       }else{
          $arr[$c-1][] = $v;
       }  
    }
    print_r($arr);
    Array
    (
        [0] => Array
            (
                [0] => 1
                [1] => 2
                [2] => 3
            )    [1] => Array
            (
                [0] => 7
                [1] => 8
            ))
      

  2.   


    <?php 
    $s = '1,2,3,7,8';
    $ar = explode(',', $s);
    $arr = array();
    foreach($ar as $v){
        $c = count($arr);
       if($v == 1 || ($v != end($arr[$c-1]) +1)){ 
         $arr[][] = $v;
       }else{
          $arr[$c-1][] = $v;
       }  
    }

    $one = implode(',',$arr[0]);
    $two = implode(',',$arr[1]);

    echo "第一次连胜纪录:".$one;
    echo "<br>";
    echo "第二次连胜纪录:".$two;
    ?>运行结果:第一次连胜纪录:1,2,3
    第二次连胜纪录:7,8