高手解释下三元运算符和if()else有什么区别? - PHP进阶讨论

就是下面这两段代码有什么区别?[ol][*]if(表达式1)[*]? ? ? ? 表达式2;[*]else[*]? ? ? ? 表达式3;[/ol][ol][*]表达式1?表达式2:表达式3;[/ol]回答外观不一样的就算了.....

第1个回答  2013-10-11
if()else里的表达式3和表达式2可以是复杂语句或者语句块;而三元表达式不能执行复杂语句
第2个回答  2013-10-11
一般用三元运算来简写代码...但我还是习惯用if else,觉得这样的可读性更强些.
第3个回答  2013-10-11
但是要是在语句中新建一个变量如$var,那么这个变量在它的作用域就可以使用了,这个比三元灵活
第4个回答  2013-10-11
谢谢刚想起来三元运算符能返回结果if()else好像 不能难道这个就是设置三元运算符的目的么?
第5个回答  2013-10-11
三元是运算操作符,if是控制语句,两者本质上就是不同的东西。详细请看C语言基础知识。