Я написал простой скрипт, который загрузит файл csv, но fgetcsv, но возвращает массив, поэтому я не могу использовать цикл foreach, чтобы делать что-то вроде поиска.fgetcsv не возвращает массив
$f_pointer=fopen("table.csv","r"); // file pointer
while(!feof($f_pointer)) {
$ar=fgetcsv($f_pointer);
foreach ($ar as $str1) {
//Warning:Invalid argument supplied for foreach()
}
}
если Еогеасп перспективе, есть ошибка, но очень странно, если я использую print_r ($ ар), он будет печатать в формате CSV в качестве одного из массива одна линия
Кто-нибудь знает, что это проблема ?
table.csv (в формате utf8)
時裝,上衣,襯衫,Shirt,Top * 10 row
полный код
<html>
<head>
<meta charset="UTF-8">
</head>
<?php
$search = array('時裝','女裝','上衣');
$cat1 = "";
$cat2 = "";
$f_pointer=fopen("table.csv","r"); // file pointer
while(! feof($f_pointer)) {
$ar=fgetcsv($f_pointer);
//echo print_r($ar); // print the array
$i = 0;
//echo count($ar);
if (is_array($ar)) {
foreach ($ar as $str1) {
echo trim($str1);
// will print full str 時裝上衣襯衫ShirtTop
/*if (trim($str[$i]) == $search[$i]) {
if ($i == 1)
$cat1 = $str[3];
if ($i == 2)
$cat2 = $str[4];
}
$i++;
if ($i == 3) break;*/
//echo $str;
}
}
echo "<br>";
}
echo 'cat1='.$cat1.'<br>';
echo 'cat2='.$cat2.'<br>';
?>
</html>
Можете ли вы ПОИ nt_r (fgetcsv ($ f_pointer)) и показать вывод? –
Массив ([0] => 時裝 [1] => 上衣 [2] => 襯衫 [3] => Рубашка [4] => Вверх) 1 – hkguile
Отредактировано моим комментарием выше. –