【问题标题】:PHP explode multi line text in text filePHP在文本文件中爆炸多行文本
【发布时间】:2019-07-13 17:52:07
【问题描述】:

我有一个文本文件,里面的数据是:

john,male,20,200,174
joe,male,24,157,166
bea,female,18,153,160
edd,male,30,180,180

我正在使用 Laravel,因此我在 storage/app/upload 中有包含此文本文件的文件夹。 在我的控制器中,这是我的代码:

public function readfile() 
    {
        $file = Storage::get('upload/test.txt');        
        $array = explode(',', $file);
        print_r($array);
    }

输出是:

Array
(
    [0] => john
    [1] => male
    [2] => 20
    [3] => 200
    [4] => 174
joe
    [5] => male
    [6] => 24
    [7] => 157
    [8] => 166
bea
    [9] => female
    [10] => 18
    [11] => 153
    [12] => 160
edd
    [13] => male
    [14] => 30
    [15] => 180
    [16] => 180
)

我需要做的是:

Array
(
     [0] => john,male,20,200,174
     [1] => joe,male,24,157,166
     [2] => bea,female,18,153,160
     [3] => edd,male,30,180,180
)

我还是新手,我希望有人可以帮助我。提前致谢

【问题讨论】:

  • 抱歉刚回来。我现在去看看

标签: php laravel api explode


【解决方案1】:

试试这个

public function readfile() 
    {
        $file = Storage::get('upload/test.txt');        
        $array = explode(PHP_EOL, $file);
        print_r($array);
    }

【讨论】:

  • 谢谢,成功了!!!!我已经这样做了,但只是返回响应,所以如果我想要它在一个数组中,它应该是 print_r 。再次感谢!!!
  • 奥瑞特。如果这能解决您的问题,请标记为答案
【解决方案2】:

获取数组数组(行-逗号分隔)尝试

public function readfile() 
    $file = Storage::get('upload/test.txt');
    $lines = explode("\n", $file);
    $array = array_map(function($line) {
        return explode(',', $line);
    }, $lines);
    print_r($array);
}

如果您只想获取行数组,那么它位于$lines 中。工作示例here

【讨论】:

  • 第一个有效。不管怎么说,还是要谢谢你 。感谢您的帮助
  • 嗯。如果我想更改索引怎么办。而不是 [0]、[1]、[2]。怎么改成字符串?
  • @jediArvin 这是一个单独的问题 - 在 stackoverflow 上查找或询问
【解决方案3】:

试试下面的代码

public function readfile() 
{
    $file = Storage::get('upload/test.txt');   
    $fileData = [];
    while (!$file->eof()) {
        $fileData[] = $file->fgetcsv(",");
    }
    print_r($fileData);
}

【讨论】:

  • 第一个有效。不管怎么说,还是要谢谢你 。感谢您的帮助
  • 如果工作正常,请投票接受。这将帮助其他人找到正确的答案。感谢您的回复,
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多