[英]PHP strings not concatenating
我正在使用自定義行分隔符逐行讀取PHP中的文件,但是我很難將行字符連接到字符串之后。
$newhtml = "";
if ($handle) {
while (($line = stream_get_line($handle, 4096, "</br>")) !== false)
{
$newhtml = "{$line}{$newhtml}" . "</br>";
}
echo $newhtml;
fclose($handle);
我期待文件的每一行都出現在不同的行上,但標簽甚至沒有顯示在開發控制台中。
實際上,使用下面的現有代碼塊
while (($line = stream_get_line($handle, 4096, "</br>")) !== false) {
$newhtml = "{$line}{$newhtml}" . "</br>"; // problem happening here with =
}
你用每個while循環迭代覆蓋$newhtml
值。所以,你只會在迭代結束后得到最后一個值。 據我了解您的要求,您希望將每一行連接到$newhtml
變量。 要做到這一點,只需修改它
$newhtml = "{$line}{$newhtml}" . "</br>";
至
$newhtml.= $line."</br>"; // with dot before =
在等號前面加一個額外的點( .
),再次刪除{$ newhtml}變量的不必要用法
從你給出的代碼中我可以猜到你想把最后一行作為第一行,你可以使用數組:
<?php
if ($handle) {
$lines = [];
while (($line = stream_get_line($handle, 4096, "</br>")) !== false)
{
$lines[] = $line;
}
$reversed = array_reverse($lines);
echo join('<br>' $reversed);
fclose($handle);
}
但是如果你只想在文件中顯示行,只需簡化代碼:
<?php
if ($handle) {
$lines = [];
while (($line = stream_get_line($handle, 4096, "</br>")) !== false)
{
echo $line . '<br>';
}
fclose($handle);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.