Php从带有空格的文件中读取
我有一个txt文件,格式如下:Php从带有空格的文件中读取,php,parsing,Php,Parsing,我有一个txt文件,格式如下: string1 value string2 value string3 value 我必须解析从外部脚本更改的“值”,但stringX是静态的。 如何通过每一行获得值?这应该适合您 $lines = file($filename); $values = array(); foreach ($lines as $line) { if (preg_match('/^string(\d+) ([A-Za-z]+)$/', $line, $matches))
string1 value
string2 value
string3 value
我必须解析从外部脚本更改的“值”,但stringX是静态的。
如何通过每一行获得值?这应该适合您
$lines = file($filename);
$values = array();
foreach ($lines as $line) {
if (preg_match('/^string(\d+) ([A-Za-z]+)$/', $line, $matches)) {
$values[$matches[1]] = $matches[2];
}
}
print_r($values);
那应该对你有用
$lines = file($filename);
$values = array();
foreach ($lines as $line) {
if (preg_match('/^string(\d+) ([A-Za-z]+)$/', $line, $matches)) {
$values[$matches[1]] = $matches[2];
}
}
print_r($values);
这可以帮助你。它一次读取一行,即使Text.txt包含1000行,如果您每次执行
文件放置内容
,如文件放置内容(“result.txt”,“line[1])
,文件将在每次读取一行(或执行您想要的任何操作)时更新,而不是在读取所有1000行之后执行。在任何给定的时间,内存中只有一行
<?php
$fp = fopen("Text.txt", "r") or die("Couldn't open File");
while (!feof($fp)) { //Continue loading strings till the end of file
$line = fgets($fp, 1024); // Load one complete line
$line = explode(" ", $line);
// $line[0] equals to "stringX"
// $line[1] equals to "value"
// do something with $line[0] and/or $line[1]
// anything you do here will be executed immediately
// and will not wait for the Text.txt to end.
} //while loop ENDS
?>
这可以帮助您。它一次读取一行,即使Text.txt包含1000行,如果您每次执行文件放置内容
,如文件放置内容(“result.txt”,“line[1])
,文件将在每次读取一行(或执行您想要的任何操作)时更新,而不是在读取所有1000行之后执行。在任何给定的时间,内存中只有一行
<?php
$fp = fopen("Text.txt", "r") or die("Couldn't open File");
while (!feof($fp)) { //Continue loading strings till the end of file
$line = fgets($fp, 1024); // Load one complete line
$line = explode(" ", $line);
// $line[0] equals to "stringX"
// $line[1] equals to "value"
// do something with $line[0] and/or $line[1]
// anything you do here will be executed immediately
// and will not wait for the Text.txt to end.
} //while loop ENDS
?>
你自己尝试过什么吗?在询问之前先在谷歌上做些研究。我对空格有问题,我不知道该怎么处理。你可以在换行符(\n
)上爆炸,如果你确定tat值不会有空格,那么在空格之后就把所有东西都拿走,但是我建议用等号改变空格,这样你就可以把这个txt文件当作ini文件处理了。你自己试过什么吗?在询问之前先在谷歌上研究一下我对空格有问题,我不知道该怎么处理。你可以在换行时爆发(\n
)如果你确定tat值不会有空格,那么在空格之后就用空格,但是我建议你用等号来改变空格,这样你就可以把这个txt文件当作ini文件来处理了。当文件很大的时候,这个方法很有效,但不是一个很好的解决方案。然后,您只需将所有数据存储在一个数组和内存中。也许阅读文件的每一行并使用它会更好。没错。然而,他可能会自己做一些研究——他似乎到目前为止还没有做。当文件很大时,这是一个有效的解决方案,但不是一个真正好的解决方案。然后,您只需将所有数据存储在一个数组和内存中。也许阅读文件的每一行并使用它会更好。没错。然而,他自己可能会做一些研究——显然到目前为止他还没有做过。