如果另一个字符串为空,如何在PHP中将默认值设置为字符串?

2022-08-31 00:03:31

最好的例子是向您展示如何在Javascript中解决这个问题:

var someString = someEmptyString || 'new text value';

在这个javascript示例中,我们检测到“someEmptyString”为空,并自动将值设置为“新文本值”。这在PHP中是否可能,最短的(代码)方法是什么?

这就是我现在的做法:

if ($someEmptyString == "")
    $someString = 'new text value'; else $someString = $someEmptyString;

这让我烦恼了很长一段时间,如果有人知道更好的方法来做到这一点,我将不胜感激。谢谢!


答案 1

您可以使用三元运算符 ?:

如果你有 PHP 5.3,这是非常优雅的:

$someString = $someEmptyString ?: 'new text value';

在 5.3 之前,它需要更详细一些:

$someString = $someEmptyString ? $someEmptyString : 'new text value';

答案 2
$someString = (!isSet( $someEmptyString ) || empty( $someEmptyString ) )? "new text value" : $someEmptyString;

我认为这将是这样做的最正确方法。检查该 var 是否为空,或者是否未设置并运行条件。

它仍然是一些代码,但你不应该在执行时得到任何PHP警告或错误。