簡體   English   中英

如何用PHP中的空字符串替換0

[英]How to replace 0 with an empty string in PHP

我正在 PHP 中構建報告,並且對這種語言真的很陌生。

我閱讀了有關 preg_replace 的文檔,但它並沒有像我預期的那樣工作。

這是我的代碼:

    $pattern = 0;
    $replacement = ' ';

    $report_output.= '
        <td>'.preg_replace($pattern, $replacement, round($row[$win_count])).'</td>
    ';

它不是用空字符串替換 0 的結果,而是用空字符串替換所有結果。 這一輪的效果很好,就像這樣:

    <td>'.round($row[$win_count]).'</td>

就在我把 preg_replace 放在它周圍時,它說“糟糕,我將替換所有東西”。 我究竟做錯了什么?

試試這個

$pattern = '/^0$/';
$replacement = ' ';

$report_output.= '
    <td>'.preg_replace($pattern, $replacement, round($row[$win_count])).'</td>
';
  • ^表示匹配字符串的開始
  • 0是匹配一 0
  • $表示匹配字符串的結尾

所以它只會匹配'0'一個零開始到結束而不是像這樣的東西hell0結束 0 不會被匹配,因為l不是字符串的開始。

如果您想在任何地方使用任何 0 然后使用它,您的問題會令人困惑

$pattern = '/0/';

帶分隔符。

您可以使用簡單的速記三元組。

通常: $variable?: ''

如果它是一個假值,那么將使用后備空字符串。

代碼:(演示

printf(
    '"%s" vs "%s"',
    round($row[$win_count]),
    round($row[$win_count]) ?: ''
);

Output:

"0" vs ""

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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