PHP 板


LINE

看板 PHP  RSS
用回文比较好解释 ※ 引述《kg3363 (深蓝)》之铭言: : 请教一下板上的高手们,以下这段程式码的 ? 和 & 要如何解释~ : 麻烦各位了,谢谢~ : $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?"; 这个属於 if else 的简写法,首先要知道这点 ex: if(val==1) { echo "xxx"; } else { echo "ooo"; } 可以写成 echo (val==1) ? "xxx" : "ooo" 因此以你这个范例而言 其中没被引号框住的 ? 跟 : $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?"; 是属於判断式的符号。 即是前者判断式成立时,会输出问号後面的值,反则输出冒号後面的值 而前面的判断式是 strpos($updateGoTo, '?') ,而strpos 有两种回传情况, 一种是 === FALSE 就是完全没找到,另一则为目标字元的 position 因此整句的意思可以是如下 if(strpos($updateGoTo, '?')!==FALSE) { $updateGoTo .= "&"; } else { $updateGoTo .= "?"; } 以上 -- [There's no undo in your life]                          ●~   ●~ ●~   ●~ ●~   ●~ --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.32.186.193
1F:→ Kelunyang:好像学名叫辍 三元运算式,善用的话应该可以减少程式码 08/04 00:24
2F:→ kerash:是三元运算式没错,不过我没在记XD,这种方式可以把很多个 08/04 01:08
3F:→ kerash:判断式组在一起,长度差很多,只是这样维护也蛮累的@@ 08/04 01:08
4F:→ MOONRAKER:ternatary operators,相对於unary/binary ops 08/05 19:57
5F:→ MOONRAKER:我认为这只该在明确的条件赋值(conditional assigment) 08/05 19:58
6F:→ MOONRAKER:叙述中使用,也就是只有if ($c) $x=$a; else $x=$b; 08/05 19:59
7F:→ MOONRAKER:这麽简单的叙述才适合用 ? : 缩写。复杂度在此以上,都 08/05 20:00
8F:→ MOONRAKER:是在整人,尤以巢状 ? : 叙述为超级整人专家。那种东西 08/05 20:02
9F:→ MOONRAKER:不展开成if elseif else或switch,除了变态没啥好讲的。 08/05 20:02
10F:→ kerash:通常会这样做都是已经完整写好的 module 或 扩充,如果是在 08/05 22:20
11F:→ kerash:正常的程式下如果会常常更新确实很少用。 08/05 22:23
12F:→ kerash:但也不是没有这样用,jquery也是有使用两层或三层的判断 08/05 22:24
13F:→ kerash:但是他也切得很细,每个功能的判断有分开,才没有这种状况 08/05 22:24
14F:→ MOONRAKER:最近在hack一个js comp叫做tinytable,他不但不用jquery 08/06 00:15
15F:→ MOONRAKER:而且里面充满这种两三层 ? : 的整人写法。我记得他有一 08/06 00:16
16F:→ MOONRAKER:段是照各栏位格式字元叫用的formatter输出格式化数字 08/06 00:18
17F:→ MOONRAKER:里面就这样: s=c=='f'?n.fpoint(k):c=='c'?n.money(k): 08/06 00:19
18F:→ MOONRAKER:这样一直下去,就算用了pretty print还是很难读。 08/06 00:20
19F:→ MOONRAKER:老实讲我很怀疑这样写,比起老实写一群if..elseif..else 08/06 00:20
20F:→ MOONRAKER:会快多少?现在有js compressor好用,主要browser的js也 08/06 00:22
21F:→ MOONRAKER:都很快了,写这样大概只有心理作用和降低维护性的效果 08/06 00:23
22F:→ kerash:他本来就没要快吧XD,就是除了短的地方方便以外,让程式码 08/06 09:08
23F:→ kerash:也短一点而已,当然是要大量才压的了很多就是了˙3˙ 08/06 09:09







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:iOS站内搜寻

TOP