(1, 3, 100 , "mianji", huxing, 'a,b,c', 等等……)
如何使用正则拆分以逗号分隔的参数呀?
要求结果为:
array(
      [0]=>1,
      [1]=>3,
      [2]=>100,
      [3]=>mianji,
      [4]=>huxing,
      [5]=>a,b,c
)
求帮助,在线等,解决立刻给分   谢谢了

解决方案 »

  1.   


    $str=<<<txt
    1, 3, 100 , "mianji", huxing, 'a,b,c'
    txt;$arr=eval( 'return   array( '.$str. '); ');
    echo "<pre>";
    print_r($arr); 
    Array
    (
        [0] => 1
        [1] => 3
        [2] => 100
        [3] => mianji
        [4] => huxing
        [5] => a,b,c
    )
      

  2.   

    再来一种?OK$str=<<<txt
     1, 3, 100 , "mianji", huxing, 'a,b,c'
    txt;
    $preg = "/(\'|\")(.*?)(\'|\")/u";
    $s = preg_replace_callback($preg, 'callback', $str);
    $s_arr = str_replace("~@.@~",",",explode(",",$s));
    echo "<pre>";
    print_r($s_arr);
    function callback($s) {
        return str_replace(',', '~@.@~', $s[0]);
    }
    Array
    (
        [0] =>  1
        [1] =>  3
        [2] =>  100 
        [3] =>  "mianji"
        [4] =>  huxing
        [5] =>  'a,b,c'
    )