2017-05-19 114 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语法。