if语句不读变量

时间:2011-05-04 18:59:57

标签: php if-statement

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

2 个答案:

答案 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的输出。基本上看到原始输出带来了发送到浏览器,也许那里有一些看不见的字符。