如:$a='333+444-555*666';分割为:$arr=array('333','+','444','-','555','*','666');用什么函数能做到????

解决方案 »

  1.   

    $a='333+444-555*666';
    preg_match_all("/([\d]+|\+|\-|\*|\/)/", $a, $matches);
    var_dump($matches[1]);
    将操作符号,直接用 |来隔开就是了,记得要转义,对一些特殊字符.
      

  2.   

    还可以这样.
    $a='333+444-555*666'; print_r(preg_split("/(\+|\-|\*)/",$a,null,PREG_SPLIT_DELIM_CAPTURE));
      

  3.   

    $a='333+444-$aa.bb*666'; 
    preg_match_all("/([\w\$.]+|\+|\-|\*|\/)/", $a, $matches); 
    var_dump($matches[1]);懂了,哈哈
      

  4.   

    foolbirdflyfirst 的更好用,谢谢了