把字符串*id=3,express_no=25,ename=quanri,*id=4,express_no=17,ename=kuaidi,
转变成数组array(array(id=3,express_no=25,ename=quanri),array(id=4,express_no=17,ename=kuaidi))

解决方案 »

  1.   

    $s = "*id=3,express_no=25,ename=quanri,*id=4,express_no=17,ename=kuaidi,";$t = array();
    foreach(explode('*', $s) as $v) {
      if(empty($v)) continue;
      parse_str(str_replace(',', '&', $v), $t);
      $r[] = $t;
    }
    print_r($r);Array
    (
        [0] => Array
            (
                [id] => 3
                [express_no] => 25
                [ename] => quanri
            )    [1] => Array
            (
                [id] => 4
                [express_no] => 17
                [ename] => kuaidi
            ))
      

  2.   


    $s='*id=3,express_no=25,ename=quanri,*id=4,express_no=17,ename=kuaidi,';
    foreach(preg_split('/\*/',$s,-1,PREG_SPLIT_NO_EMPTY) as $k=>$v){
             foreach(preg_split('/,/',$v,-1,PREG_SPLIT_NO_EMPTY) as $vl){
             $arr=explode('=',$vl);
     $ar[$k][$arr[0]]=$arr[1];
     }
    }
    print_r($ar);Array
    (
        [0] => Array
            (
                [id] => 3
                [express_no] => 25
                [ename] => quanri
            )    [1] => Array
            (
                [id] => 4
                [express_no] => 17
                [ename] => kuaidi
            ))