php 三元运算符实例详细介绍


Posted in PHP onDecember 15, 2016

三元运算符的功能与“if....else”流程语句一致,它在一行中书写,代码精练、执行效率高。在PHP程序中恰当地使用三元运算符能够让脚本更为简洁、高效。代码的语法如下:

(expr1)?(expr2):(expr3); //表达式1?表达式2:表达式3

解释:如果条件“expr1”成立,则执行语句“expr2”,否则执行“expr3”。

<?PHP
$a=10; $b=20;
$c=$a>$b?($a-$b):($a+$b);
//说明:如果变量a大于变量b则执行问号后面的,否则就执行:冒号后面的
echo $c;
?>

表达式里可以是函数、数组等等。

事实上,三元运算符可以扩展使用,当设置的条件成立或不成立,执行语句都可以不止一句,试看以下格式:

(expr1) ? (expr2).(expr3) : (expr4).(expr5);

我们非常明显地看到,多个执行语句可以使用用字符串运算符号(“.”)连接起来,各执行语句用小角括号包围起来以表明它是一个独立而完整的执行语句。这样扩展后它的功能更为逼近“if...else”流程语句。

同时三元运算符还可以嵌套使用。例如,a大于b成立时:如果a小于c,那么x=c-a否则x=a-c;否则a小于b成立时:如果b小于c,那么x=c-b否则x=b-c:

$a>$b ? $x=($a<$c ? $c-$a : $a-$c) : $x=($b<$c ? $c-$b : $b-$c);

嵌套使用的三元运算符可读性不太好,日后对代码的维护极可能存在问题,所以像这种情况我们还是直接使用if else if 来实现吧。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 相关文章推荐
[FAQ]PHP中的一些常识:类篇
Oct 09 PHP
PHP文件读写操作之文件写入代码
Jan 13 PHP
php获取mysql数据库中的所有表名的代码
Apr 23 PHP
php array_map()数组函数使用说明
Jul 12 PHP
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
Jun 20 PHP
php中session退出登陆问题
Feb 27 PHP
PHP中使用CURL模拟登录并获取数据实例
Jul 01 PHP
分享php分页的功能模块
Jun 16 PHP
Symfony2实现在controller中获取url的方法
Mar 18 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
Apr 04 PHP
phpcms配置列表页以及获得文章发布时间
Jul 04 PHP
thinkphp5 migrate数据库迁移工具
Feb 20 PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Dec 14 #PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Dec 14 #PHP
Thinkphp 中 distinct 的用法解析
Dec 14 #PHP
PHP 500报错的快速解决方法
Dec 14 #PHP
php json中文编码为null的解决办法
Dec 14 #PHP
PHP正则匹配日期和时间(时间戳转换)的实例代码
Dec 14 #PHP
Thinkphp整合微信支付功能
Dec 14 #PHP
You might like
PHP 调试工具Debug Tools
2011/04/30 PHP
php excel reader读取excel内容存入数据库实现代码
2012/12/06 PHP
smarty模板中使用get、post、request、cookies、session变量的方法
2014/04/24 PHP
PHP匿名函数和use子句用法实例
2016/03/16 PHP
php mysqli查询语句返回值类型实例分析
2016/06/29 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
php正则提取html图片(img)src地址与任意属性的方法
2017/02/08 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
FireFox中textNode分片的问题
2007/04/10 Javascript
jquery 入门教程 [翻译] 推荐
2009/08/17 Javascript
JS画线(实例代码)
2013/11/20 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
jquery validate demo 基础
2015/10/29 Javascript
Javascript获取数组中的最大值和最小值的方法汇总
2016/01/01 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
2016/10/10 Javascript
微信小程序 配置文件详细介绍
2016/12/14 Javascript
react.js 翻页插件实例代码
2017/01/19 Javascript
Angular2学习教程之TemplateRef和ViewContainerRef详解
2017/05/25 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
2018/03/03 Javascript
详解搭建一个vue-cli的移动端H5开发模板
2020/01/17 Javascript
浅谈js中的attributes和Attribute的用法与区别
2020/07/16 Javascript
Vue $attrs &amp; inheritAttr实现button禁用效果案例
2020/12/07 Vue.js
Python简单获取自身外网IP的方法
2016/09/18 Python
Python网络编程 Python套接字编程
2017/09/13 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
python 用struct模块解决黏包问题
2020/11/07 Python
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
ECCO俄罗斯官网:北欧丹麦鞋履及皮具品牌
2020/06/26 全球购物
捐书活动总结
2014/05/04 职场文书
企业优秀员工事迹材料
2014/05/28 职场文书
网络营销实训总结
2015/08/03 职场文书
导游词之山东孔庙
2019/11/04 职场文书
详细谈谈MYSQL中的COLLATE是什么
2021/06/11 MySQL
golang生成vcf通讯录格式文件详情
2022/03/25 Golang
MySQL 表锁定 LOCK和UNLOCK TABLES的 SQL语法
2022/04/18 MySQL
MySQL 数据 data 基本操作
2022/05/04 MySQL