[英]getting null values while reading from csv file
我有一個csv文件,每個行都有一個這樣的單詞
word1
word2
word3
並具有以下代碼來讀取數據:
$arr = array();
$fh = fopen('path/to/file', 'r');
while (($rows = fgetcsv($fh)) !== false) {
print_r($rows);
if (!in_array($rows[0], $arr))
$arr[] = "'".trim($rows[0])."'";
}
fclose($fh);
print_r($arr);
問題是我獲得了$ rows [0]的空字符串/空值,並且非常確定數據在那里。
Array ( [0] => )
Array ( [0] => )
Array ( [0] => )
Array ( [0] => '' [1] => '' [2] => '' [3] => '' )
任何幫助將不勝感激。
您正在嘗試將單詞讀入數組嗎? 將所有內容替換為:
$arr = file('/path/to/file');
print_r($arr);
無法復制。 我假設您的文件格式有問題。 最有可能在頂部有一個空行(我不太確定,但是可能會通過!== false
測試)。
更好的嘗試:
$arr = array_map("str_getcsv", file("words.csv"));
print_r($arr);
如果您需要重新添加引號,請執行一個單獨的循環。
文件讀取部分已經回答,但是關於添加引號的循環,可以使用array_walk()
:
function add_quotes(&$item)
{
$item = "'" . $item . "'";
}
array_walk($arr, "add_quotes");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.