我编写了一个从csv读取数据的程序(在SQL Studio中保存为Unicode格式),然后进行一些比较并打印出结果。
由于某种原因,这个简单的if语句返回false,而在打印数据时它会显示正确的结果:
foreach ($complete as $key => $val){
$INVOICE = 'INVOICE';
$InvoiceType = $complete[$key][9];
echo 'comparing' . $InvoiceType.'to'. $INVOICE;
if ($InvoiceType == $INVOICE){
echo 'I am inside a invoice';
}
else if ($InvoiceType == 'CREDIT'){
$PayeeDocumentType = 'CM';echo 'I am inside a credit';
}
}
--------- Results ---------
comparingINVOICEtoINVOICEcomparingINVOICEtoINVOICE
答案 0 :(得分:1)
我唯一的猜测是$complete[$key][9]
是一个对象,而不是一个字符串。
如果您在某处添加print_r($complete[$key][9])
或将第二行代码修改为:
$InvoiceType = (string) $complete[$key][9];
答案 1 :(得分:0)
首先猜一下
$InvoiceType = trim($complete[$key][9]);
还要注意页面“view source”中var_dump的输出。基本上看到原始输出带来了发送到浏览器,也许那里有一些看不见的字符。