各位大侠:
数据如下:第一行最后一个字段是记录数,
现需要将第二行的时间以后的缴费内容循环读取出来(缴费内容不固定)0|90000000394|1112247338|姜家村村委|324156606|0532|80992627|20100329101143|0|596|1404|1|1|
11001|20100101000000|2010年01月|优惠费|-5.80|本地通话费|5.00|国内长途费|0.80|来电显示费|3.32|套餐费|10.72|

解决方案 »

  1.   

    $a="0|90000000394|1112247338|姜家村村委|324156606|0532|80992627|20100329101143|0|596|1404|1|1|";
    $b="11001|20100101000000|2010年01月|优惠费|-5.80|本地通话费|5.00|国内长途费|0.80|来电显示费|3.32|套餐费|10.72|";
    $c=explode("|",$a);
    $d=explode("|",$b);
    print_r($c);
    //去最後那個1
    echo count($c);
    $tag1=$c[count($c)-1];
    $tag2=$c[count($c)-2];
    echo "<br>";
    echo $c[count($c)]==null || $c[count($c)]==""?"$tag2":"$tag1";
    echo "<br>";
    print_r($d);
      

  2.   

    Array ( [0] => 0 [1] => 90000000394 [2] => 1112247338 [3] => 姜家村村委 [4] => 324156606 [5] => 0532 [6] => 80992627 [7] => 20100329101143 [8] => 0 [9] => 596 [10] => 1404 [11] => 1 [12] => 1 [13] => ) 14
    1
    Array ( [0] => 11001 [1] => 20100101000000 [2] => 2010年01月 [3] => 优惠费 [4] => -5.80 [5] => 本地通话费 [6] => 5.00 [7] => 国内长途费 [8] => 0.80 [9] => 来电显示费 [10] => 3.32 [11] => 套餐费 [12] => 10.72 [13] => ) 是将第二个数组的数量取得然后循环得到数值?
      

  3.   


    //纯手写,没经测试
    preg_match_all('/(.+费\|[0-9\.-])/',$str,$matches);var_dump($matches[1]);
      

  4.   

    $a="0|90000000394|1112247338|姜家村村委|324156606|0532|80992627|20100329101143|0|596|1404|1|1|";
    $b="11001|20100101000000|2010年01月|优惠费|-5.80|本地通话费|5.00|国内长途费|0.80|来电显示费|3.32|套餐费|10.72|";print_r(explode('|',$a));
    print_r(explode('|',$b));
      

  5.   

    foreach(explode('|',$a) as $str=>$s){
         echo $s;
    }