PHP while 循环从字符串中读取多行文本
PHP while loop to read multiline text from string
我有一个多行字符串,每行有 2 个单词。
我想在 while 循环中逐行阅读脚本
得到第一个词和第二个词。
$multilinestring="name1 5
name2 8
name3 34
name5 55 ";
我在逐行读取字符串时想要得到的结果是
还有 2 个字符串
$firstword
和 $secondword
提前谢谢大家!
如果这真的是一个你想阅读的文本文件,那么你最好使用 fgets()
或使用 file()
将文件完全读入数组并使用 explode()
之后。考虑这段代码:
$arr = file("somefile.txt"); // read the file to an array
for ($i=0;$i<count($arr);$i++) { // loop over it
$tmp = explode(" ", $arr[$i]); // splits the string, returns an array
$firstword = $tmp[0];
$secondword = $tmp[1];
}
使用 while 循环执行此操作有什么意义?使用 foreach 循环来实现:
foreach (explode("\n", $multilinestring) as $line) {
$line = explode(" ", $line);
print_r($line);
}
使用这个:
$eachLine = explode(PHP_EOL, $multilinestring); // best practice is to explode using EOL (End Of Line).
foreach ($eachLine as $line) {
$line = explode(" ", $line);
$firstword = $line[0];
$secondword = $line[1];
}
我有一个多行字符串,每行有 2 个单词。 我想在 while 循环中逐行阅读脚本 得到第一个词和第二个词。
$multilinestring="name1 5
name2 8
name3 34
name5 55 ";
我在逐行读取字符串时想要得到的结果是 还有 2 个字符串
$firstword
和 $secondword
提前谢谢大家!
如果这真的是一个你想阅读的文本文件,那么你最好使用 fgets()
或使用 file()
将文件完全读入数组并使用 explode()
之后。考虑这段代码:
$arr = file("somefile.txt"); // read the file to an array
for ($i=0;$i<count($arr);$i++) { // loop over it
$tmp = explode(" ", $arr[$i]); // splits the string, returns an array
$firstword = $tmp[0];
$secondword = $tmp[1];
}
使用 while 循环执行此操作有什么意义?使用 foreach 循环来实现:
foreach (explode("\n", $multilinestring) as $line) {
$line = explode(" ", $line);
print_r($line);
}
使用这个:
$eachLine = explode(PHP_EOL, $multilinestring); // best practice is to explode using EOL (End Of Line).
foreach ($eachLine as $line) {
$line = explode(" ", $line);
$firstword = $line[0];
$secondword = $line[1];
}