PHP 中的双问号

Sheeraz Gul 2023年1月30日
  1. 在 PHP 中使用双问号作为 Null Coalescing 运算符
  2. 在 PHP 中的表单值上使用双问号
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
作者: Sheeraz Gul
Sheeraz Gul avatar Sheeraz Gul avatar

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

相关文章 - PHP Operator