PHP 中的双问号
Sheeraz Gul
2023年1月30日
2022年5月13日
双问号在 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
Author: Sheeraz Gul
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook