我循环遍历两个数据集,字符串比较工作除了一行:
ALTER TABLE `tablename` CHANGE `field` enum('P','W','M', 'G')
ALTER TABLE `tablename` CHANGE `field` enum('P','W','M','G')
我认为这是因为M' G' G' G'在第一个字符串中。我想删除它但仍保留字符串的第一部分中的空格。
答案 0 :(得分: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语法。