数据是:
YX1206=YX1206,524.00,525.00,520.00,520.00,392,1050,523.00,543,2049,527.00,520.00,524.00,-4.00,1660,7664,870182.00,560.00,487.00YX1209=YX1209,545.00,547.00,552.00,551.00,6893,256324,552.00,6603,117688,553.00,546.00,549.00,7.00,1308386,452116,718696576.00,583.00,506.00SW1209=SW1209,61.00,61.80,61.30,61.30,5037,1113470,61.40,6973,169972,62.00,60.70,61.30,0.30,1478284,455310,90644015.20,65.20,56.70
如何输出成表格,分3行 19列显示啊。  主要是没每行数据如何拆分呢?

解决方案 »

  1.   

    YX1206=YX1206,524.00,525.00,520.00,520.00,392,1050,523.00,543,2049,527.00,520.00,524.00,-4.00,1660,7664,870182.00,560.00,487.00YX1209=YX1209,545.00,547.00,552.00,551.00,6893,256324,552.00,6603,117688,553.00,546.00,549.00,7.00,1308386,452116,718696576.00,583.00,506.00SW1209=SW1209,61.00,61.80,61.30,61.30,5037,1113470,61.40,6973,169972,62.00,60.70,61.30,0.30,1478284,455310,90644015.20,65.20,56.70这个意思,preg_replace找数字之后跟英文字母的地方,换上一个\n。
      

  2.   

    [User:root Time:13:05:30 Path:/home/liangdong/php]$ cat test.php <?php$str = "YX1206=YX1206,524.00,525.00,520.00,520.00,392,1050,523.00,543,2049,527.00,520.00,524.00,-4.00,1660,7664,870182.00,560.00,487.00YX1209=YX1209,545.00,547.00,552.00,551.00,6893,256324,552.00,6603,117688,553.00,546.00,549.00,7.00,1308386,452116,718696576.00,583.00,506.00SW1209=SW1209,61.00,61.80,61.30,61.30,5037,1113470,61.40,6973,169972,62.00,60.70,61.30,0.30,1478284,455310,90644015.20,65.20,56.70";$res = preg_replace('/(\d)([^.,=0-9])/i', '\1\n\2', $str);
    $res_arr = explode('\n', $res);
    print_r($res_arr);
    ?>
    [User:root Time:13:05:37 Path:/home/liangdong/php]$ php test.php Array
    (
        [0] => YX1206=YX1206,524.00,525.00,520.00,520.00,392,1050,523.00,543,2049,527.00,520.00,524.00,-4.00,1660,7664,870182.00,560.00,487.00
        [1] => YX1209=YX1209,545.00,547.00,552.00,551.00,6893,256324,552.00,6603,117688,553.00,546.00,549.00,7.00,1308386,452116,718696576.00,583.00,506.00
        [2] => SW1209=SW1209,61.00,61.80,61.30,61.30,5037,1113470,61.40,6973,169972,62.00,60.70,61.30,0.30,1478284,455310,90644015.20,65.20,56.70
    )
      

  3.   

    表示只会POSIX正则,对于pcre查手册嫌麻烦,谅解。。
      

  4.   

    再在#2的基础上 
    foreach($res_arr as $value)
       explode(',', $value);
      

  5.   


    <style>
    td {
    font-size:12px;
    border:1px solid red;
    }
    </style>
    <?
    $str = 'YX1206=YX1206,524.00,525.00,520.00,520.00,392,1050,523.00,543,2049,527.00,520.00,524.00,-4.00,1660,7664,870182.00,560.00,487.00YX1209=YX1209,545.00,547.00,552.00,551.00,6893,256324,552.00,6603,117688,553.00,546.00,549.00,7.00,1308386,452116,718696576.00,583.00,506.00SW1209=SW1209,61.00,61.80,61.30,61.30,5037,1113470,61.40,6973,169972,62.00,60.70,61.30,0.30,1478284,455310,90644015.20,65.20,56.70';
    $res = preg_replace('/(\d)([^.,=0-9])/', '\1\n\2', $str);
    $arr = explode('\n', $res);
    //print_r($arr);
    $re = '/,/';
    echo '<table>';
    for($i = 0, $len = count($arr); $i < $len; $i++){
    $tmp = preg_split($re, $arr[$i]);
    //print_r($tmp);
    echo '<tr>';
    for($j = 0, $lenj = count($tmp); $j < $lenj; $j++){
    echo '<td>'.$tmp[$j].'</td>';
    }
    echo '</tr>';
    }
    echo '</table>';
    ?>
      

  6.   

    先explode,然后foreach加if也可以实现