'How to replace 0 with an empty string in PHP
I'm building a report in PHP, and am really new to this language.
I read the documentation on preg_replace, but it's not working exactly as I expect.
Here's my code:
$pattern = 0;
$replacement = ' ';
$report_output.= '
<td>'.preg_replace($pattern, $replacement, round($row[$win_count])).'</td>
';
Instead of replacing a result of 0 with an empty string, it replaces all results with an empty string. The round works great like this:
<td>'.round($row[$win_count]).'</td>
It's just when I put the preg_replace around it, it says 'phooey, I shall replace everything'. What am I doing wrong?
Solution 1:[1]
You can use a simple shorthand ternary.
Generally: $variable ?: ''
If it is a false value, then the fallback empty string will be used.
Code: (Demo)
printf(
'"%s" vs "%s"',
round($row[$win_count]),
round($row[$win_count]) ?: ''
);
Output:
"0" vs ""
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | mickmackusa |
