三目运算| 学习笔记

简介: 快速学习三目运算。

开发者学堂课程【PHP 基础入门课程(上) :三目运算】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/709/detail/12606


三目运算

 

内容介绍:

一、了解三目运算的逻辑

二、掌握三目运算符的应用

 

一、了解三目运算的逻辑

1、概念

三目运算:即有三个表达式参与运算的运算,是一种简单的判定以及给出结果的运算

  • 三目运算:需要三个表达式参与运算
  • 三目运算:表达式1﹖表达式2∶表达式3

a. 如果表达式1为真:返回表达式2的结果

b. 如果表达式1为假:返回表达式3的结果

  • 三目运算简化:表达式1 ?:表达式3

a. 如果表达式1为真:返回表达式1的结果(等价于:表达式1?表达式1∶表达式3)

b. 如果表达式1为假:返回表达式3的结果

 

二、掌握三目运算符的应用

1、案例

比如说我们现在有一个年龄等于15岁的一个小家伙,我们就去判定,这个年龄是外面来的,我不确定,要拿身份证看,如果他的年龄大于等于18,那我们就看看,他能上网,否则我们就不能上网,再拿这个结果就可以了。

#年龄大于等于18岁,可以上网,否则不能上网

$age = 15;

$res = $age >= 18 ? '上网':'不能上网';

echo $res;    #上网:因为 $age >= 18结果为真

#用户提交数据:如果有就用,没有就给初始值

$res = $_GET[ ' age'] ?: 18;   #等价于合并运算: $res = $_GET[ 'age '] ?? 18

三目运算是可以多个嵌入到一起的(不建议),如果有这种情况要特别注意,最好使用()将子三目运算包起来

#年龄小于18岁,未成年,大于18岁,小于30岁,青年,大于30,小于65,中年,大于65,老年

$age = 19;

#错误示例:自己看不懂,程序也看不懂

$res = $age >= 18 ? $age > 30 ? $age > 65 ? '老年’︰'中年’︰'青年’∶'未成年';

#调整,每个子三目运算都进行包裹

$res = $age >= 18 ? ($age > 30 ? ($age > 65 ? '老年’:'中年')︰'青年')∶'未成年';

示例:

1 <?Php

2

3#三目运算

4

5 $age = 19;

6

7 $res = $age > 18 ?‘成年':'未成年';\\结果成年

8

9/ / echo $res;

10

11

12 $_POST[ 'age']=0;

13 #浏览器提供数据

14 $res = $_POST[ 'age']?:2.8;

15 echo $res;

小结

1、三目运算标准需要三个表达式参与运算:表达式1?表达式2∶表达式3

·表达式1成立:得到表达式2的结果

·表达式1不成立:得到表达式3的结果

2、简化的三目运算与合并运算一样(合并运算在 PHP7 以后有的,就是为了简化三目运算)

·表达式1﹖∶表达式3====表达式1??表达式3(不完全等价:三目运算是判定表达式1的结果是否为真,而合并运算是判定表达式1是否存在)

3、三目运算理论上可以无限嵌套,但是要注意对子三目运算的包裹(不建议使用)

相关文章
|
2天前
面试题 08.14:布尔运算
面试题 08.14:布尔运算
25 0
|
2天前
|
开发框架 .NET 程序员
C#三元运算符使用技巧
C#三元运算符使用技巧
11 0
|
2天前
|
C++
C/C++中三目运算符(条件运算符)的使用详解
C/C++中三目运算符(条件运算符)的使用详解
|
2天前
|
前端开发 JavaScript 程序员
你真的会用三元运算符吗?
你真的会用三元运算符吗?
|
6月前
|
程序员
三目运算符的使用
三目运算符的使用
|
11月前
|
C语言
C语言编程语法—三目运算符和逗号表达式的使用
三目运算符,又称条件运算符,它是唯一有3个操作数的运算符,有时又称为三元运算符。三目运算符的结合性是右结合的;逗号表达式,是c语言中的逗号运算符,优先级别最低,它将两个及其以上的式子联接起来,从左往右逐个计算表达式,整个表达式的值为最后一个表达式的值。
451 0
03 快速上手-三目运算符(三元运算符)
三元运算符的格式: 判断条件 ? 值1 : 值2; 执行流程: 1 判断条件是否为真? 2 如果判断条件为真,则 值1 赋给这这条语句的结果; 3 如果判断条件为假,则 值2 赋给这这条语句的结果;
55 0
|
Java Scala 开发者
运算符优先级|学习笔记
快速学习运算符优先级。
79 0
运算符优先级|学习笔记
|
Scala 开发者
逻辑运算符|学习笔记
快速学习逻辑运算符。
55 0
|
Java Scala 开发者
关系运算符|学习笔记
快速学习关系运算符。
73 0