Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php按行分割文本并获取特定元素_Php - Fatal编程技术网

Php按行分割文本并获取特定元素

Php按行分割文本并获取特定元素,php,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;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.
}
?>


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

可以将字符串分解两次。
首先是在线,然后是

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


然后
echo$arr[1][2]将按您的需要工作

您可以将字符串分解两次。
首先是在线,然后是

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


然后
echo$arr[1][2]
将按您的需要工作

只需
$lines[2]
?由于爆炸,您不应再次使用$lines,因为它处于循环中。@DanielFaure更正了它@Philipp可以访问整行,但如何访问这行的特定元素?@RulliSmith否-更改后,它只是
$line[2]
。您已经将该行拆分为元素。因此,如果你想访问,即
70%
,你必须使用
$line[5]
(零基数组的第6个元素)只需
$line[2]
?你不应该因为爆炸而再次使用$line,因为它在一个循环中。@DanielFaure更正了它@Philipp可以访问整行,但如何访问这行的特定元素?@RulliSmith否-更改后,它只是
$line[2]
。您已经将该行拆分为元素。因此,如果您想访问,即
70%
,则必须使用
$line[5]
(零基数组的第6个元素)