【问题标题】:Fill table with a txt file in PHP用PHP中的txt文件填充表格
【发布时间】:2016-10-06 03:48:29
【问题描述】:

我有一个具有以下结构的文本文件

12355 987564
35122 894843

88488 645454
45556 444442

我的代码:

 <?php  
$array = array_map('trim', explode("\n",  file_get_contents('stats/S6090615EMV.D060')));

foreach ($array as $data) {
 echo $data;
}

?>

现在我不知道如何用每一行、每一列的值填充表格。

我可以读取文件的每一行,但不能分割每一行中的元素。

请帮助我。 使用explode,我得到的结果是:

12355 987564

我想要这个:
12355
987564

【问题讨论】:

  • 你应该发布你拥有的代码
  • 根据您的代码,当新行出现时您会爆炸。所以代码工作正常。如果你想得到你想要的结果,那么你应该在你的每个循环中用“空格”再次爆炸它
  • 尝试“\r\n”而不是只使用“\n”
  • 最后一点,不要使用\r\n\n,而是使用常量PHP_EOL

标签: php file explode


【解决方案1】:

您首先要使用file(),默认情况下,它会获取一个文件并将行拆分为一个数组。其余部分使用explode()

$new     =  array();
$fileArr = array_map(function($v) {
    return explode(' ',trim($v)); 
},file('stats/S6090615EMV.D060',FILE_SKIP_EMPTY_LINES));

foreach($fileArr as $rows) {
    $new    =   array_merge($new,$rows);
}

$new = array_filter($new);
print_r($new);

给你:

Array
(
    [0] => 12355
    [1] => 987564
    [2] => 35122
    [3] => 894843
    [5] => 88488
    [6] => 645454
    [7] => 45556
    [8] => 444442
)

【讨论】:

    【解决方案2】:

    你离得太近了。只需使用空格作为分隔符再次爆炸,您将拥有行的数组

    $row = explode(" ", $data);
    

    会给你

    Array ( [0] => 12355 [1] => 987564 ) 
    

    【讨论】:

    • 这就是解决方案,再次爆炸!很棒
    猜你喜欢
    • 1970-01-01
    • 2015-09-09
    • 1970-01-01
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多