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燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP