If语句不读取变量


if statement not reading variables

我编写了一个程序,从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

我唯一的猜测是$complete[$key][9]是一个对象而不是字符串。

如果您在某处添加print_r($complete[$key][9])或将第二行代码修改为:

$InvoiceType = (string) $complete[$key][9];

第一次尝试

$InvoiceType = trim($complete[$key][9]);

还要注意页面"view source"中var_dump的输出。基本上看到的是发送到浏览器的原始输出,可能有一些不可见的字符。