если оператор не читает переменные - PullRequest
0 голосов
/ 04 мая 2011

Я написал программу, которая читает данные из csv (сохраненного в формате Unicode в SQL Studio), а затем выполняет несколько сравнений и распечатывает результаты.

По какой-то причине этот простой оператор 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 ]

1 голос
/ 04 мая 2011

Мое единственное предположение, что $complete[$key][9] - это объект, а не строка.

Что произойдет, если вы добавите куда-нибудь print_r($complete[$key][9]) или измените вторую строку кода следующим образом:

$InvoiceType = (string) $complete[$key][9];
0 голосов
/ 05 мая 2011

Первая попытка угадать

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

Также обратите внимание на вывод var_dump в "view source" страницы.В основном смотрите исходный вывод, отправленный в браузер, возможно, там есть невидимые символы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...