Я пытаюсь проанализировать CSV-файл, в котором мои данные представлены в формате, например:
"Total","Shazam (DE)","Total",,"215,611","538","£935.97","£60.77"
Теперь, если я дам fgetcsv (), как показано ниже:
$values = fgetcsv($f,8098);
Он возвращает мне массив в виде:
array(9) {
[0]=>
string(15) ""Total""
[1]=>
string(27) ""Shazam (DE)""
[2]=>
string(15) ""Total""
[3]=>
string(1) ""
[4]=>
string(9) ""215"
[5]=>
string(9) "611""
[6]=>
string(11) ""538""
[7]=>
string(19) ""£935.97""
[8]=>
string(19) ""£60.77"
"
}
, но теперь, если я дам выражение if, подобное:
$values = fgetcsv($f,8098);
if ($values[0] == "Total")
echo "Hello";
, это ничего не выводит, почему условие не выполняется?Это как-то связано с кавычками?
Я даже пытался экранировать кавычки, например.
if ($values[0] == '\"Total\"')
echo "Hello";
, но безрезультатно.
Нужно ли мне изменять какие-либо настройки .ini для этого?Пожалуйста, помогите мне.
РЕДАКТИРОВАТЬ: я пытался сделать var_dump, и он действительно показал мои значения в кавычках:
array(9) {
[0]=>
string(15) ""Total""
[1]=>
string(27) ""Shazam (DE)""
[2]=>
string(15) ""Total""
[3]=>
string(1) ""
...
}
, но даже
$values[0] == "\"Total\""
не работал,Каким должен быть правильный компаратор?
ОБНОВЛЕНИЕ: После нескольких часов бесцельных проб и ошибок, наконец, нашел что-то раздражающее, но это решило мою проблему.
Первоначально, когда я пытался открыть свой CSV-файл, он открыл блокнот с ÿþD "" в качестве содержимого.Я скопировал все содержимое файла и создал новый CSV-файл с тем же именем, и, к моему удивлению, это сработало.
Старый файл красиво открывался в MS-EXCEL / NOTEPAD, но вExcel, каждая строка отображалась внутри одной ячейки.
Мой вопрос: в чем проблема с .csv fromat?Кто-нибудь сталкивался с такой проблемой раньше?