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];
}