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