比较字符串的意外结果

时间:2011-06-29 15:16:55

标签: php

我有两个数组$oldInfo$newInfo,其中$oldInfo是数据库中的现有数据,$newInfo是用户输入的信息。如果两个特定字段在两者之间有所不同,我想在数据库中输入一个新行,如果那个字段与我刚更新的字段相同。

if($oldInfo['col'] != $newInfo['col']){
    INSERT INTO ...
}
else
{
    UPDATE WHERE ...
}

问题是if语句总是评估为true。我在if语句中放了一个echo ... die()命令来打印出两个值,它们看起来都是一样的。 Old Info: 38mg/1, 20 New Info: 38mg/1, 20

我是否缺少PHP中字符串比较的具体内容?这些值似乎完全相同(实际上,$ oldInfo用于预填充表单,因此它们应该相同)但if语句表示它们不相同。

2 个答案:

答案 0 :(得分:3)

在比较之前尝试修剪字符串。通常当发生这种情况时,这是因为额外的一点空白偷偷溜进其中一个。

答案 1 :(得分:-1)

可能会有一些时髦的东西,要么PHP认为它是数字38,要么是编码。尝试使用!==代替!=强制严格平等。