Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果另一个字符串为空,如何在PHP中将默认值设置为字符串?_Php_Javascript_String_If Statement - Fatal编程技术网

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

如果另一个字符串为空,如何在PHP中将默认值设置为字符串?,php,javascript,string,if-statement,Php,Javascript,String,If Statement,最好的例子是向您展示如何用Javascript解决这个问题: var someString = someEmptyString || 'new text value'; 在这个javascript示例中,我们检测到“someEmptyString”为空,并自动将该值设置为“new text value”。这在PHP中可能吗?最短的(代码)方法是什么 我现在就是这样做的: if ($someEmptyString == "") $someString = 'new text value'

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

var someString = someEmptyString || 'new text value';
在这个javascript示例中,我们检测到“someEmptyString”为空,并自动将该值设置为“new text value”。这在PHP中可能吗?最短的(代码)方法是什么

我现在就是这样做的:

if ($someEmptyString == "")
    $someString = 'new text value'; else $someString = $someEmptyString;
这困扰了我很长一段时间,如果有人知道更好的方法,我将非常感激。谢谢大家!

您可以使用

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

$someString = $someEmptyString ?: 'new text value';
在5.3之前,它需要更详细一些:

$someString = $someEmptyString ? $someEmptyString : 'new text value';
你可以使用

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


这仍然是一段代码,但在执行时不应该出现任何PHP警告或错误。

虽然Tritanal更清楚发生了什么,但您也可以这样设置变量

($someString = $someEmptyString) || ($someString = "Default");
适用于所有PHP版本,您可以扩展此功能以轻松使用多个选项

($someString = $someEmptyString) ||
($someString = $someOtherEmptyString) ||
($someString = "Default");

我个人觉得它比它的三元等价物可读性更高

短一点:someEmptyString?someEmptyString:'新文本值';可能的重复,这里的“0”会发生什么?@Haozhun条件失败。这是否意味着答案包含一个微妙的错误?@Haozhun不确定这是否是一个错误。
'0'
的错误是相当标准的PHP行为。我不打算修改答案,因为这会使它变得毫无意义。您必须执行
empty($someEmptyString)?'新文本值“:$someEmptyString
,这不是很有用的代码。但是,如果您使用此代码,那么您应该记住一个很好的观点。
($someString = $someEmptyString) || ($someString = "Default");
($someString = $someEmptyString) ||
($someString = $someOtherEmptyString) ||
($someString = "Default");