2017-05-19 110 views
0

我通過兩個數據集和字符串比較循環正在除了一排:PHP字符串比較,去掉空格

ALTER TABLE `tablename` CHANGE `field` enum('P','W','M', 'G') 

ALTER TABLE `tablename` CHANGE `field` enum('P','W','M','G') 

我相信這是因爲在與「M」的空間,「G」在第一個字符串中。我想刪除它,但仍然保留字符串第一部分的空格。

+1

你可以分享你到目前爲止的代碼嗎? – Mureinik

+0

比較什麼,SQL語句或字符串數​​據?另外,你在使用MySQL嗎?如果是這樣,爲了改變相對於枚舉數據列的表,正確的語法是:ALTER TABLE'tablename' CHANGE'field'' field' enum('P','W','M','G' )。 OP代碼中'M'和'G'之間的空格與MySQ正確解析此SQL語句無關。 – slevy1

回答

1

可以壓縮多個空格的所有序列爲單個空格:

if (preg_replace('/\s{2,}/', ' ', $string1) == preg_replace('/\s{2,}/', ' ', $string2)) 

然而,這不會幫助,如果兩個字符串:

ALTER TABLE `tablename` CHANGE `field` enum('P','W','M', 'G') 
ALTER TABLE `tablename` CHANGE `field` enum('P', 'W', 'M', 'G') 

這些都是在SQL因爲相當於逗號後的空格是可選的。如果你想能夠處理這個,你需要編寫一個更詳細的解析器來理解SQL語法。