2016-09-30 2 views
0

Я написал простой скрипт, который загрузит файл 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> 
+0

Можете ли вы ПОИ nt_r (fgetcsv ($ f_pointer)) и показать вывод? –

+0

Массив ([0] => 時裝 [1] => 上衣 [2] => 襯衫 [3] => Рубашка [4] => Вверх) 1 – hkguile

+0

Отредактировано моим комментарием выше. –

ответ

0

массив fgetcsv (ресурс $ ручка [, Int $ длина = 0 [, строка $ Разделитель = "" [, строка $ ограда = '"' [, строка $ побега = "\"]]]])

Что ваш разделитель? и приложение к нему?

+0

Что ты имеешь в виду ?! –

+0

показать исходные данные вашего table.csv –

+0

вопрос был обновлен, а также это не мое! Однако ваш ответ также является вопросом не ответа. обратитесь к [ответ] –

Смежные вопросы