PHP 中的双问号
双问号在 PHP 中称为 Null Coalescing
运算符。它是在 PHP7 中引入的。
双问号返回操作数的值,即 not Null
。
它从左到右检查操作数并返回第一个 non-Null
值。
如果需要结合使用三元,可以使用 Null Coalescing
运算符;在 PHP7 之前,我们使用 PHP 内置函数 isset()
和 ?:
而不是 ??
。
在 PHP 中使用双问号作为 Null Coalescing
运算符
<?php
$Temp = null;
$Demo = $Temp ?? 'Nothing';
echo $Demo."<br>";
$Temp = "Test Double Question Mark";
$Demo = $Temp ?? 'something';
echo $Demo;
?>
上面的代码将首先打印 nothing
,因为 $Demo
的值为空,然后它打印字符串 Test Double Question Mark
,因为第一个操作数是 not null
。
输出:
Nothing
Test Double Question Mark
在 PHP 中的表单值上使用双问号
我们可以在表单值上使用 Null Coalescing
运算符,因此如果没有插入任何值,它可以打印其他内容。参见示例:
<!DOCTYPE HTML>
<html>
<body>
<form action="test.php" method="post">
Test Value 1: <input type="text" name="test1"><br>
Test Value 2: <input type="text" name="test2"><br>
<input type="submit">
</form>
</body>
</html>
此 HTML 代码将要求你输入值,这些值将打印在下面给出的 test.php
上。
<?php
echo $_POST["test1"] ?? $_POST["test2"] ?? "Please enter a test value";
?>
该代码将打印它从表单中获取的第一个非 Null 值,如果它没有得到任何值,它将打印输出:
Please enter a test value
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。