gpt4 book ai didi

PHP制表符将文本文件分隔成数组

转载 作者:可可西里 更新时间:2023-10-31 22:12:09 24 4
gpt4 key购买 nike

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

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

关于PHP制表符将文本文件分隔成数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19452541/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com