PHP цикл while для чтения многострочного текста из строки

У меня есть многострочная строка, в которой есть 2 слова.
Я хочу в течение цикла при чтении сценария построчно
получить 1-е слово и 2-е слово.

$multilinestring="name1  5
name2 8
name3 34
name5 55 ";

Результат, который я хочу получить, пока я читаю строку строка за строкой, должен получить
Еще 2 строки

$firstword а также $secondword

Спасибо всем заранее!

-1

Решение

Если это действительно текстовый файл, который вы хотите прочитать, то вам лучше использовать 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];
}
1

Другие решения

Какой смысл использовать цикл while для этого? Используйте цикл foreach для достижения этого:

foreach (explode("\n", $multilinestring) as $line) {
$line = explode(" ", $line);
print_r($line);
}
1

Использовать этот:

$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];
}
1
По вопросам рекламы [email protected]