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个元素)