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