PHP7 语法“??” 和“?:”的区别

简介: PHP7 语法“??” 和“?:”的区别
$a ?? 0 等同于 isset($a) ? $a : 0
$a ?: 0 等同于 $a ? $a : 0
empty: 判断一个变量是否为空(null、false、00、0、’0′、』这类,都会返回true)
isset: 判断一个变量是否设置(值为false、00、0、’0′、』这类,也会返回true)

示例


// 定义之前
print_r($name ?? 'Tom');
// Tom
print_r($name ?: 'Jack');
// Jack
// Undefined variable: name
// 定义之后
$name = '';
print_r($name ?? 'Tom');
// ''
print_r($name ?: 'Jack');
// Jack

示例

当变量 $a 已定义,bool值为false的时候


$a = 0;
$b = 1;
var_dump($a ?? $b); // int(0)
var_dump(isset($a) ? $a : $b); // int(0)
var_dump($a ?: $b); // int(1)
var_dump($a ? $a : $b); // int(1)

当变量 $a 未定义的时候


$b = 1;
var_dump($a ?? $b); // int(1)
var_dump(isset($a) ? $a : $b); // int(1)
var_dump($a ?: $b); // PHP Notice:  Undefined variable: a
var_dump($a ? $a : $b); // PHP Notice:  Undefined variable: a

PHP7中的运算符 ?: 和 JavaScript 中运算符|| 作用基本一致,都是三元运算符的简写


console.log(true ? true : false) // true
console.log(true || false) // true
console.log(false || true) // true
console.log(0 || 1) // 1
console.log("" || "Tom") // Tom
相关文章
|
2月前
|
存储 Java 数据库连接
php学习笔记-代码基本语法-day01
本文是关于PHP编程语言的基础语法学习笔记,内容包括PHP的介绍、注释风格、数据类型、命名规范、常量和变量的使用,以及变量和常量相关的常用函数。文中详细解释了PHP的基本语法元素和一些易混淆的概念,如传值赋值与传址赋值、可变变量,以及如何检查变量是否已定义或为空。
php学习笔记-代码基本语法-day01
ly~
|
2月前
|
安全 Java 大数据
php跟java有什么区别
PHP 和 Java 是两种常用编程语言,各有特色。PHP 语法简洁灵活,适用于快速开发中小型网站,尤其在 Web 脚本和数据库交互中表现出色。Java 则语法严谨,强类型特性使其在企业级应用、移动开发及大数据处理中更受欢迎,具备高稳定性和安全性。通过优化,PHP 性能可提升,而 Java 在大规模应用中表现更佳。总体而言,PHP 开发效率高但维护性稍差,Java 则更注重代码质量和安全性。
ly~
47 5
|
2月前
|
XML 开发框架 .NET
PHP的基本语法是什么样的?
PHP提供了丰富的变量类型,包括整型、浮点数、布尔值、空值(NULL)、字符串和数组等。了解每种类型的特性和用途对于编写高质量的PHP代码至关重要。
22 4
|
2月前
|
SQL 关系型数据库 数据库连接
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
本文介绍了PHP中PDO(PHP Data Objects)扩展的基本概念和使用方法。内容包括PDO类和PDOStatement类的介绍,PDO的简单使用,预定义占位符的使用方法,以及PDOStatement对象的使用。文章还讨论了绑定预定义占位符参数的不同形式,即bindValue和bindParam的区别。通过具体示例,展示了如何使用PDO进行数据库连接、数据查询、数据插入等操作。
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
|
3月前
|
前端开发 PHP Apache
PHP基础语法
PHP基础语法
25 1
|
5月前
|
PHP
PHP &&是什么,||是什么,&&和||有什么区别?
PHP &&是什么,||是什么,&&和||有什么区别?
33 1
|
5月前
|
关系型数据库 MySQL 数据库连接
蓝易云 - PHP基本语法解析与应用指南
以上只是PHP基本语法的简要概述,要深入了解和掌握PHP,你需要阅读更多的教程和参考资料,并通过实践来提高你的技能。
42 2
|
5月前
|
存储 JavaScript PHP
PHP基础语法讲解
PHP基础语法讲解
|
5月前
|
存储 程序员 数据库连接
|
5月前
|
PHP
php的基础语法讲解
php的基础语法讲解