fgetcsv и значение "0" - PullRequest
       26

fgetcsv и значение "0"

0 голосов
/ 20 января 2010

Поэтому я использую функцию PHP fgetcsv для анализа файла .csv (через запятую, поля заключены в "") и импорта его в MySQL. Проблема в том, что определенное поле всегда пусто, хотя иногда оно должно содержать «0». Так что я предполагаю, что функции считают "" и "0" нулевыми значениями, но для меня это довольно проблематично. Есть идеи?

РЕДАКТИРОВАТЬ - Код:

$handle = fopen("/home/simon/projet-web/Quebec.csv", "r");

if ($handle)
{      
  while($line = fgetcsv($handle, 0, ",", "\""))
  {
    if ($line[55] === "0") 
      echo $line[55] . " / " . $line[4] . "<br />";
  [...]

Ответы [ 2 ]

1 голос
/ 20 января 2010

Вы должны быть в состоянии определить разницу между нулевой записью и пустым полем, используя следующее ...

if($currentRow[$currentIndex] === 0)

... чтобы проверить наличие нуля. (Та же логика применяется при использовании функций, которые возвращают либо ноль, либо ложь, например, strpos - в этом случае вы бы проверили! == false и т. Д.)

Как говорит Крозин, это идентичный оператор сравнения, который проверяет как тип, так и эквивалентность значений.

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