«

php新语法 ?: ?? 的用法(三元运算符,合并运算符)

时间:2024-2-20 11:32     作者:韩俊     分类: PHP


php 三元运算符(?:),null合并运算符(??)的用法。

?: 三元运算符的简写形式

expr1 ?: expr3

在 expr1 求值为 true 时返回 expr1,否则返回 expr3。

<?php
// 三元运算符简写的例子
$action = (!empty($_POST['action'])) ?: 'default';

// 以上等同于以下的  if/else 语句
if (empty($_POST['action'])) {
    $action = 'default';
} else {
    $action = $_POST['action'];
}

?? NULL 合并运算符

当 expr1 为 null,表达式 (expr1) ?? (expr2) 等同于 expr2,否则为 expr1。

尤其要注意,当不存在左侧的值时,此运算符也和 isset() 一样不会产生警告。 对于 array 键尤其有用。

<?php
// NULL 合并运算符的例子
$action = $_POST['action'] ?? 'default';

// 以上例子等同于于以下 if/else 语句
if (isset($_POST['action'])) {
    $action = $_POST['action'];
} else {
    $action = 'default';
}

标签: php php教程

热门推荐