我是这样想的,但不知有否曲解楼主的意思.首先把这个东西看做一个祖普,根就用0表示,且你其他的数据就定成,第一个数表示你是那一代人,后面的是你相对根的脉,
(1,0)=>>0    
(6,1)=>>1_6 =>> $arry[1][6]
(101,2)=>>2_6_101  #$arry[2][6][101]
不过你要找第三代人企不是要给出三个数据,.......
xi下班再想了,有意思

解决方案 »

  1.   

    <?PHP
    $str="1.0,2.1,3.2,4.2,6.1,88.2,90.3,9.1";
    $str1="6.1";
    $str2="101.2";$arr2=explode('.',$str2);$arr=explode(',',$str);
    for($i=0;$i<count($arr);$i++){
    if($arr[$i]==$str1) $start=true;
    if($start){
    $arr1=explode('.',$arr[$i]);
    if($arr2[1]<$arr1[1]) $result[]=$str2;
    }
    $result[]=$arr[$i];
    }
    echo implode(',',$result);
    ?>
      

  2.   

    1............................................
          .
          .
          2.....................................
          .             .
          .             3......................
          .             .
          .             4......................
          .
          6.....................................
          .             .
          .             88.....................
          .                              .
          .                             90.....  
          9.................................... 
    $str="1.0,2.1,3.2,4.2,6.1,88.2,90.3,9.1";
    插入(101,2)的结果为
    0-----1---------------2--------------3
    1............................................
          .
          .
          2.....................................
          .             .
          .             3......................
          .             .
          .             4......................
          .
          6.....................................
          .             .
          .             88.....................
          .             .                .
          .             .               90.....
          .             .
          .            101.....................  
          9....................................
    $str="1.0,2.1,3.2,4.2,6.1,88.2,101.2,90.3,9.1";
      

  3.   

    $str="1.0,2.1,3.2,4.2,6.1,88.2,90.3,9.1";
    function add($f,$n){
    global $str;
    $arr=explode(",",$str);
    if($p=array_search ($f,$arr)){
    $tmp=explode(".",$arr[$p]);
    $d=$tmp[1]+1;
    $bFlag=false;
    for($i=$p+1;$i<count($arr);$i++){
    $tmp=explode(".",$arr[$i]);
    if($tmp[1]==$d)$bFlag=true;
    if($arr[$i]!=$d){
    if($bFlag)
    $arr[$i].=",$n.$d";
    else
    $arr[$i]="$n.$d,".$arr[$i];
    break;
    }
    }
    }
    return implode(",",$arr);
    }
    echo add("6.1","10")."<br>";
    echo add("88.2","10")."<br>";
    echo add("90.3","10")."<br>";
      

  4.   

    大家可以看一下规律;
    $str="1.0,2.1,3.2,4.2,6.1,88.2,90.3,9.1";
    由(6.1)插入(101,2)的结果为
    $str="1.0,2.1,3.2,4.2,6.1,88.2,'101.2',90.3,9.1";
    由(2.1)再插入一个(120,2);
    $str="1.0,2.1,3.2,4.2,'120.2',6.1,88.2,101.2,90.3,9.1,120.1";
    这个插入的(x,y)中的x越来越大根据给出的(m,n来进行插入)
    由(101.2)再插入一个(134.3):
    $str="1.0,2.1,3.2,4.2,120.2,6.1,88.2,101.2,90.3,'134.3',9.1,120.1";
    这个插入的字符串我加了引号,
      

  5.   

    有些错误,重来<?PHP
    $str="1.0,2.1,3.2,4.2,6.1,88.2,90.3,9.1";
    $str1="6.1";
    //$str2="101.1";
    //$str2="101.2";
    $str2="101.3";$arr2=explode('.',$str2);
    $arr3=explode('.',$str1);$arr=explode(',',$str);
    for($i=0;$i<count($arr);$i++){
    if($start){
    $arr1=explode('.',$arr[$i]);
    if(($arr2[1]<$arr1[1] && $arr2[1]>$arr3[1]) || $arr1[1]<=$arr3[1]) {$result[]=$str2;$start=false;}
    }
    $result[]=$arr[$i];
    if($arr[$i]==$str1) $start=true;
    }
    echo implode(',',$result);
    ?>替换$str2的值试试
    //$str2="101.1";
    //$str2="101.2";
      

  6.   

    1............................................
          .
          .
          2.....................................
          .             .
          .             3......................
          .             .
          .             4......................
          .
          6.....................................
          .             .
          .             88.....................
          .                              .
          .                             90.....  
          9.................................... 
    $str="1.0,2.1,3.2,4.2,6.1,88.2,90.3,9.1";
    插入(101,2)的结果为
     0-----1---------------2--------------3
    1 1............................................
           .
           .
    2       2.....................................
           .             .
    3      .             3......................
           .             .
    4      .             4......................
           .
    5      6.....................................
           .             .
    6      .             88.....................
           .             .                .
    7      .             .               90.....
           .             .
    8      .            101.....................  
    9      9....................................
    $str="1.0,2.1,3.2,4.2,6.1,88.2,90.3,101.2,9.1";