PHP三元运算符的结合性介绍
PHP 介绍 结合 运算符 三元
2023-06-13 09:14:32 时间
先看一个三元运算式子:
复制代码代码如下:
<?php
$a=1;$b=2;$c=3;$d=4;
echo$a<$b?"xx":$a<$c?"yy":$a<$d?"zz":"oo";
?>
一般按照其它语言(比如C或Java)的规则,以上代码的运算逻辑是:
$a<$b=>true=>"xx"==>结束
那么最后得到的结果就是"xx",而再往后的运算都会被无视.
然而令人吃惊的是,php运算以上代码最后得到的结果却是"zz"...我擦,什么情况,这不坑爹么...
老规矩,只好求教谷歌酱,结果被告知php的三元运算竟然是向左结合的...于是豁然开窍.
我给上面的代码加上两个括号:
<?php
$a=1;$b=2;$c=3;$d=4;
echo(($a<$b?"xx":$a<$c)?"yy":$a<$d)?"zz":"oo";
?>
一目了然了吧,这才是php的运算逻辑:
$a<$b=>true=>"xx"=>true=>"yy"=>true=>"zz"=>结束
这其中涉及到两个类型转化的过程,即"xx"=>true和"xx"=>true.
不知这样的过程是否是蛋疼,确实是让人很难理解...
最后再次回到上面的代码,将其变为像C一样的向右结合吧:
<?php
$a=1;$b=2;$c=3;$d=4;
echo$a<$b?"xx":($a<$c?"yy":($a<$d?"zz":"oo"));
//括号换下位置就行了,php里括号省不得
?>
相关文章
- PHP常见面试题_php算法面试题及答案
- php案例:解压一个文件
- 一个很easy的脚本–php获取服务器端的相关信息详解编程语言
- PHP和MySQL:构建动态网站的利器(php与mysql)
- 的关系PHP与Oracle的良好结合(php和oracle)
- 分钟结合简单快捷:PHP跟MySQL搭配,5分钟搞定!(php与mysql5)
- PHP扩展Redis:建立强大的缓存架构(php扩展redis)
- 远程探索——PHP与MySQL的结合(php远程连接mysql)
- PHP结合MySQL实现数据库事务锁定机制(php mysql 锁)
- 使用PHP连接远程MSSQL服务器(php连接远程mssql)
- PHP与MSSQL结合,提高数据查询效率(php能连mssql)
- Redis面试题与PHP配合(redis面试题 php)
- 详细介绍:Apache+PHP+MySQL配置攻略
- php什么是PEAR?(第二篇)
- php下将图片以二进制存入mysql数据库中并显示的实现代码
- 一篇有意思的技术文章php介绍篇
- 实现nginx&php服务器配置的非主流配置方法
- PHP和Mysqlweb应用开发核心技术-第1部分Php基础-2php语言介绍
- php中关于mysqli和mysql区别的一些知识点分析
- JSON在PHP中的应用介绍
- 关于php循环跳出的问题
- 浅析PHP的ASCII码转换类
- 基于php中使用excel的简单介绍
- PHP正则表达式/i,/is,/s,/isU等介绍