比如
$id = $name != '' ? $key : (is_numeric($key) ? $key : '');
歌词大意
如果 $name != '' $id 等于 $key 否则
如果 $key 是数字, $id 等于 $key,否则 $id 等于空
1
hoythan OP 小括号是我瞎编的,我不知怎么连续写.
|
3
shiny PRO 这种情况慎用三元运算符
|
4
ALeo 2017 年 2 月 16 日
这种三目表达式 写那么复杂干嘛呢。。
其实也就是 ·· $id = $name != '' && is_numeric($key) ? $key : ''; 就可以了。 |
5
allenhu 2017 年 2 月 16 日
拖出去剁了
|
6
wclssdn 2017 年 2 月 16 日
你这么写你自己看的懂么?看你代码的其他人看的懂么?
如果你想看着简介(简短,易懂),可以看看这段: $id = ''; $name && is_numeric($key) && $id = $key; // 如果 name 不为空,并且 key 是数字,则 id=key |
10
Mitt 2017 年 2 月 16 日
如果是三元的话 可以 exp ? ret1 : exp2 ? ret2 : exp3 ? ret3 : exp4 ? ret4 : ret5 ; 这种一直续下去的,当然你的代码更适合上面大神们说的 && 和 || 来解决问题, 我建议如果不是简单三目的话 宁可多写几行代码也不要用三目偷懒,因为对可读性是相对比较差的
|
11
hoythan OP |
14
shiny PRO |
16
l12ab 2017 年 2 月 16 日
这种情况我宁愿多写几个 if else ,看起来舒服些
|
19
abugs 2017 年 2 月 16 日
三元一般够用,如果你有多个 if ,建议使用常规 if else
|
20
konakona 2017 年 2 月 16 日
这个可以的,这样写没有问题,能阅读。只是容易不小心写错。
|
21
wizardoz 2017 年 2 月 16 日
写多个条件就不是简写了
|
23
keinx 2017 年 2 月 16 日
你入错行了,来 Python ,人生苦短我用 python
|
25
Reign 2017 年 2 月 16 日
这年头,为了装逼也是蛮拼的
|
26
cxbig 2017 年 2 月 17 日
你见哪个外国人这么写赶快拉黑
Ternary Operator 嵌套不符合 Best Practice 原则。他人很难看清楚逻辑结构 在我们公司,写成这样绝对过不了代码审查 写成一行也不代表跑起来就快 |
27
flydogs 2017 年 2 月 17 日
老老实实 if else
|
28
juice 2017 年 2 月 17 日
代码优先给人读,次之再给机器读
|
29
killerv 2017 年 2 月 17 日
代码可读性很重要
|
31
v2dead 2017 年 2 月 17 日
wordpress 出了名的烂代码,背了那么多年的历史包袱,你居然作参考。。
|
32
orderc 2017 年 2 月 17 日
论代码可读性的重要性
a == b && c = d ,我同事总这样写,每次看到这样的代码脑子都要短路一下 |