簡體   English   中英

PHP字符串不連接

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM