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

Edi*_*lic 13 javascript php string if-statement

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

var someString = someEmptyString || 'new text value';
Run Code Online (Sandbox Code Playgroud)

在这个javascript示例中,我们检测到'someEmptyString'为空并自动将值设置为'new text value'.这在PHP中是可行的吗?最短(代码)方式是什么?

这是我现在这样做的方式:

if ($someEmptyString == "")
    $someString = 'new text value'; else $someString = $someEmptyString;
Run Code Online (Sandbox Code Playgroud)

这让我困扰了很长一段时间,如果有人知道更好的方法,我会非常感激.谢谢!

lon*_*day 38

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

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

$someString = $someEmptyString ?: 'new text value';
Run Code Online (Sandbox Code Playgroud)

在5.3之前,它需要更冗长:

$someString = $someEmptyString ? $someEmptyString : 'new text value';
Run Code Online (Sandbox Code Playgroud)


小智 5

$someString = (!isSet( $someEmptyString ) || empty( $someEmptyString ) )? "new text value" : $someEmptyString;
Run Code Online (Sandbox Code Playgroud)

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

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