作者JeffMcBride (不当全班害群芝麻)
看板PHP
标题Re: [请益] 一个三元运算子的问题
时间Mon Aug 20 15:54:54 2007
※ 引述《wercc (Wercc)》之铭言:
: 在用三元运算子的时候,遇到了一个问题。以简单的例子来说大概是这样:
: 二、
: $age = 3;
$ticket = "票价" . ($age > 12) ? "100" : "50" ;
因为字串连结'.'优先於测试'?'的判断
所以不管"票价"後接什麽,还是为true(有字串"票价"啊..)
$ticket = "票价" .
(($age > 12) ? "100" : "50"
);
增加括号限制优先顺序
: echo ($ticket);
: 用第ㄧ个方法,就可以输出正确的答案
: 但为什麽用第二个写法,却是输出100呢?
: 请懂的人跟我想一下是哪里的问题好吗,谢谢
总之.. 这是个好问题
我的习惯是概念性拆开来写 程式码会比较清楚易阅读
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.114.24.33
1F:推 gmoz:喔喔 学到新东西 感谢问和答的人 XD 08/20 16:14
2F:推 wercc:谢谢 ^^ 08/20 16:42
※ 编辑: JeffMcBride 来自: 140.114.24.33 (08/20 19:01)
3F:推 pakker:第一种等同於 ("票价".($age>12)) ? "100" : "50"; 08/21 20:21
4F:→ pakker:+,-,.的顺序比?:高 08/21 20:22