我的
PHP代码:
$cmd = 'SELECT var1 FROM var2 GROUP BY var3 LIMIT var4'; // split command $p = preg_split('/SELECT|FROM|GROUP BY|LIMIT/si',$cmd);
输出:
Array ( [0] => [1] => var1 [2] => var2 [3] => var3 [4] => var4 )
以下输出可能吗?
Array ( [SELECT] => var1 [FROM] => var2 [GROUP BY] => var3 [LIMIT] => var4 )
或者有没有办法获得分隔符?
解决方法
$cmd = 'SELECT var1 FROM var2 GROUP BY var3 LIMIT var4'; $array = array(); if(preg_match_all('/(SELECT|FROM|GROUP BY|LIMIT)\s+([^\s]+)/si',$cmd,$matches)) { $array = array_combine($matches[1],$matches[2]); } var_dump($array);
结果:
array 'SELECT' => string 'var1' (length=4) 'FROM' => string 'var2' (length=4) 'GROUP BY' => string 'var3' (length=4) 'LIMIT' => string 'var4' (length=4)