PHP 选项卡将文本文件分隔为数组


PHP tab delimited text file into array

>我有一个巨大的文本文件,结构如下:

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
    )
)

你需要用更多( )来包装你的while语句

while ($line = fgetcsv($fh, 1000, "'t") !== false) {

应该是

while (($line = fgetcsv($fh, 1000, "'t")) !== false) {