我有一個巨大的文本文件的結構如下所示:PHP製表符分隔文本文件導入陣列
email 1
email 14
email 1
email 244
email 232
email 23
email 1
我想文本文件中提取到一個數組,在那裏我可以再刪除所有電子郵件,所以不有一個號碼。現在我限制在前20位,所有這些數字都是1,但我在我的陣列中唯一得到的是數字1.當我吐出行中的項目數時,它表示1。
$file = "list.txt";// Your Temp Uploaded file
$cols = array();
ini_set('auto_detect_line_endings', true);
$fh = fopen($file, 'r');
$i = 0;
while ($line = fgetcsv($fh, 1000, "\t") !== false) {
$cols[] = $line;
if($i == 19) { break; }
$i++;
}
echo "<pre>";
print_r($cols);
echo "</pre>";
Array
(
[0] => 1
[1] => 1
[2] => 1
[3] => 1
[4] => 1
[5] => 1
[6] => 1
[7] => 1
[8] => 1
[9] => 1
[10] => 1
[11] => 1
[12] => 1
[13] => 1
[14] => 1
[15] => 1
[16] => 1
[17] => 1
[18] => 1
[19] => 1
)
我試圖改變\t
到\n
但這並沒有改變結果。如果我可以在一個步驟中做到這一點,那會更好,請檢查行中的第二個項目,如果它是一個項目,則將第一個項目(電子郵件)添加到數組中。否則不要。在這一點上,我會拿我能得到的!任何想法或建議?
我現在得到的數組中的項目,但它合併列到一個數組項:
Array
(
[0] => Array
(
[0] => EMAIL 1
)
)
有沒有辦法讓我吐出列到單獨的鑰匙?所以:
Array
(
[0] => Array
(
[0] => EMAIL
[1] => 1
)
)
檢查,如果分隔符是'Tab'(\ T)或'Space' – bansi
@cfox根據您的更新:如果它把它們放在一個列然後它不是製表符分隔'\ t'現在嘗試使用空格'' – cmorrissey
我實際上已經改變了原來的空間,不得不改變它回到標籤。謝謝! – cfox