运算符拾遗(Operators)

今天看到了这里,有一些平时不在意的地方。记录下来。

一、运算符的优先级

其实我不是很在意这个事情,必要的东西都是走括号的。有些东西你不常用,别人也不常用。那么你写出来会浪费别人读代码的时间。不如老老实实用括号来的清晰。

二、??和?:

??    null合并运算符(Null Coalescing Operator),在php7中生效。

isset():检测变量是否设置,并且不是 NULL。

(expr1) ?? (expr2)  相当于isset(expr1)为真,返回expr1;为假,返回expr2;

<?php
// Example usage for: Null Coalesce Operator
$action = $_POST['action'] ?? 'default';

// The above is identical to this if/else statement
if (isset($_POST['action'])) {
    $action = $_POST['action'];
} else {
    $action = 'default';
}

?>

?:  三元运算符(Ternary Operator),三元运算符的缩写。

(expr1) ?: (expr2) 相当于(expr1)为真,返回expr1;为假,返回expr2;

因为false,0,‘’都可以用empty校验,所以也相当于empty(expr1)为真,返回expr2;为假,返回expr1;本质上它是 (expr1) ? (expr1) : (expr3)的简写形式。

<?php
// Example usage for: Ternary Operator
$action = (empty($_POST['action'])) ? 'default' : $_POST['action'];

// The above is identical to this if/else statement
if (empty($_POST['action'])) {
    $action = 'default';
} else {
    $action = $_POST['action'];
}

?>

三、执行运算符(Execution Operators)

PHP 支持一个执行运算符:反引号(``)。注意这不是单引号!(这里是1左边的键位)PHP 将尝试将反引号中的内容作为 shell 命令来执行,并将其输出信息返回(即,可以赋给一个变量而不是简单地丢弃到标准输出)。使用反引号运算符“`”的效果与函数shell_exec() 相同。

<?php
  $output = `date`;
  echo "Current date of your system: $output";
?>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值