本帖最后由 oyjqdlp364356378 于 2010-07-07 17:24:53 编辑

解决方案 »

  1.   

    数据量不大的话,建议把数据全取出来,PHP脚本处理;
      

  2.   


    已解决
    foreach ($array as $item)
    {
    $tmp = explode('.', $item);
    $list[$tmp[0]][$tmp[1]][] = $item;
    }
      

  3.   

    $arr = array();
    $arr1 = array();$arr[] = 'ab.abc.abcde';
    $arr[] = 'ab.abc.abdef';
    $arr[] = 'ab.bcd.adfd';
    $arr[] = 'ab.bcd.addd';
    $arr[] = 'bc.efd.fds';
    $arr[] = 'bc.efd.fds';foreach($arr as $k => $v){
    if(strpos('@'.$v, 'ab')){
    $arr1['ab'][] = $v;
    }
    if(strpos('@'.$v, 'bc')){
    $arr1['bc'][] = $v;
    }
    if(strpos('@'.$v, 'abc')){
    $arr1['abc'][] = $v;
    }
    if(strpos('@'.$v, 'bcd')){
    $arr1['bcd'][] = $v;
    }
    if(strpos('@'.$v, 'efd')){
    $arr1['efd'][] = $v;
    }
    }echo '<pre>';print_r($arr1);
      

  4.   

    <?php
    $array[1] = 'ab.abc.abcde';
    $array[2] = 'ab.abc.abdef';
    $array[3] = 'ab.bcd.adfd';
    $array[4] = 'ab.bcd.addd';
    $array[5] = 'bc.efd.fds';
    $array[6] = 'bc.efd.fds';
    foreach( $array as $first){
    $firstarray = explode('.', $first);
    $one[$firstarray[0]][] = $first;
    $two[$firstarray[0]][$firstarray[1]][] = $first;
    }
    print_r($one);
    print_r($two);
    ?>
      

  5.   

    解决了就好!
    自己动手,丰衣足食$s = <<< DAT
    ab.abc.abcde
    ab.abc.abdef
    ab.bcd.adfd
    ab.bcd.addd
    bc.efd.fds
    bc.efd.fds
    DAT;$ar = split("[\r\n]+", $s);foreach($ar as $v) {
      list($i, $j) = split("\.", $v);
      $r1[$i][] = $v;
      $r2[$i][$j] = $v;
    }
    print_r($r1);
    print_r($r2);
      

  6.   

    PHP的ARRAY真灵活,比JAVA的爽多了