我可以有这些字符串:
- “卷升序,版本降序”
- "volume ASC, othercolumn desc, columnx DESC"
我想获得这样的数组:
- 数组('卷','asc','版本','desc');
- 数组('卷','asc','othercolumn','desc','columnx','desc');
如何使用 regexp/preg_match 函数实现这一目标?
我可以有这些字符串:
我想获得这样的数组:
如何使用 regexp/preg_match 函数实现这一目标?
您可以使用preg_split:
$arr = array(
"volume asc, edition desc",
"volume ASC, othercolumn desc, columnx DESC"
);
foreach($arr as $str) {
$res = preg_split('/[ ,]+/', $str);
print_r($res);
}
输出:
Array
(
[0] => volume
[1] => asc
[2] => edition
[3] => desc
)
Array
(
[0] => volume
[1] => ASC
[2] => othercolumn
[3] => desc
[4] => columnx
[5] => DESC
)
使用诸如PHP SQL Parser之类的解析器会是一种更好的方法。
$str = 'volume asc, edition desc';
$chars = preg_split('/ /', $str);
print_r($chars);
Array ( [0] => volume [1] => asc, [2] => edition [3] => desc )
您可以使用 strtolower 函数将每个字符串转换为小写