我有两个数组$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语句表示它们不相同。
答案 0 :(得分:3)
在比较之前尝试修剪字符串。通常当发生这种情况时,这是因为额外的一点空白偷偷溜进其中一个。
答案 1 :(得分:-1)
可能会有一些时髦的东西,要么PHP认为它是数字38,要么是编码。尝试使用!==代替!=强制严格平等。