我能有這些字符串:正則表達式解析一個mysql排序依據串
- 「量遞增,版遞減」
- 「卷ASC,othercolumn遞減,columnx DESC」
我想獲得陣列這樣的:
- 陣列( '音量', 'ASC', '編輯', '遞減');數組'('volume','asc','othercolumn','desc','columnx','desc');
如何使用正則表達式/ preg_match函數來達到該目的?
我能有這些字符串:正則表達式解析一個mysql排序依據串
我想獲得陣列這樣的:
如何使用正則表達式/ 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功能
我可以知道爲什麼這個答案下投? – vaichidrewar
這和如@ Vaichidrewar在他的回答中所述,他可以使用'strtolower'將全部轉換爲小寫。它可以這樣調用:'array_walk('strtolower',$ res)' – Lumbendil
完美!謝謝 –
@MarcoPanichi:不客氣。 – Toto