PHP IF 简写怎么写多个条件

2017-02-16 18:06:43 +08:00
 hoythan

比如

$id = $name != '' ? $key : (is_numeric($key) ? $key : '');

歌词大意

如果 $name  != '' $id  等于 $key  否则
如果 $key  是数字, $id  等于  $key,否则 $id  等于空
4246 次点击
所在节点    PHP
37 条回复
wizardoz
2017-02-16 21:16:11 +08:00
写多个条件就不是简写了
lh900519
2017-02-16 21:25:37 +08:00
@ALeo 不是应该用 || ?
keinx
2017-02-16 21:28:59 +08:00
你入错行了,来 Python ,人生苦短我用 python
hoythan
2017-02-16 21:30:31 +08:00
@realpg
@abugs
@l12ab
我的错,是我一时蒙蔽了自己的心智.以后再用打断自己手.
Reign
2017-02-16 21:32:27 +08:00
这年头,为了装逼也是蛮拼的
cxbig
2017-02-17 01:51:40 +08:00
你见哪个外国人这么写赶快拉黑
Ternary Operator 嵌套不符合 Best Practice 原则。他人很难看清楚逻辑结构
在我们公司,写成这样绝对过不了代码审查
写成一行也不代表跑起来就快
flydogs
2017-02-17 08:37:25 +08:00
老老实实 if else
juice
2017-02-17 09:08:44 +08:00
代码优先给人读,次之再给机器读
killerv
2017-02-17 10:16:37 +08:00
代码可读性很重要
hoythan
2017-02-17 10:18:10 +08:00
@cxbig wordpress 程序中有大量的简写...
v2dead
2017-02-17 10:53:35 +08:00
wordpress 出了名的烂代码,背了那么多年的历史包袱,你居然作参考。。
orderc
2017-02-17 14:54:16 +08:00
论代码可读性的重要性
a == b && c = d ,我同事总这样写,每次看到这样的代码脑子都要短路一下
hoythan
2017-02-17 15:45:11 +08:00
@orderc a==b && c = d? c=d 不是賦值嗎?
orderc
2017-02-17 16:02:31 +08:00
@hoythan 是赋值啊
Balthild
2017-03-23 10:12:39 +08:00
@orderc 这种简写中逻辑运算符我一律写成 and or ,阅读的时候就很自然地和条件判断中的逻辑运算符分开对待了
orderc
2017-03-23 11:37:11 +08:00
@Balthild 这不是重点,重点是可读性差,逻辑判断应该和赋值分开。
if (a == b) {
c = d;
}
一目了然
Balthild
2017-03-26 14:41:13 +08:00
@orderc ……联想英语中 or/and 用法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/340963

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX