Php逐行拆分并获取特定元素

时间:2018-05-19 13:01:19

标签: php

我有一个大文本文件,按新行拆分,每行都用';'分隔,如下所示:

1;1;20;3.6;0%;70%;25%;0%;5%;
1;2;80;4;45%;20%;20%;15%;0%;
1;3;80;4;40%;35%;5%;20%;0%;
1;4;20;3.6;15%;40%;38%;5%;2%;
1;5;20;3.6;30%;18%;33%;20%;0%;
1;6;80;4;27%;47%;23%;3%;0%;

我想要做的是使用PHP来正确读取文件并访问任何行中的特定元素,例如第2行,元素3(可能,[1] [2],如果被视为索引)并打印出来。

<?php
//split by new line
$text = fopen("public/data/data1.txt", "r");

if ($text) {
    while (($lines = fgets($text)) !== false) {
     //split by ;   
        $line = explode(';', $lines);

        //access a specific element 
    }

    fclose($text);
} else {
    // error opening the file.
}
?>

有人知道如何访问这些元素吗?

1 个答案:

答案 0 :(得分:2)

你可以将字符串爆炸两次 首先是行,然后是;

$arr = explode(PHP_EOL, $str);
Foreach($arr as &$line){
    $line = explode(";", $line);
}

https://3v4l.org/5fbvZ

然后echo $arr[1][2];将按您的意愿工作