Re: [請益] ? 和 & 的問題
用回文比較好解釋
※ 引述《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
→
08/04 00:24, , 1F
08/04 00:24, 1F
→
08/04 01:08, , 2F
08/04 01:08, 2F
→
08/04 01:08, , 3F
08/04 01:08, 3F
→
08/05 19:57, , 4F
08/05 19:57, 4F
→
08/05 19:58, , 5F
08/05 19:58, 5F
→
08/05 19:59, , 6F
08/05 19:59, 6F
→
08/05 20:00, , 7F
08/05 20:00, 7F
→
08/05 20:02, , 8F
08/05 20:02, 8F
→
08/05 20:02, , 9F
08/05 20:02, 9F
→
08/05 22:20, , 10F
08/05 22:20, 10F
→
08/05 22:23, , 11F
08/05 22:23, 11F
→
08/05 22:24, , 12F
08/05 22:24, 12F
→
08/05 22:24, , 13F
08/05 22:24, 13F
→
08/06 00:15, , 14F
08/06 00:15, 14F
→
08/06 00:16, , 15F
08/06 00:16, 15F
→
08/06 00:18, , 16F
08/06 00:18, 16F
→
08/06 00:19, , 17F
08/06 00:19, 17F
→
08/06 00:20, , 18F
08/06 00:20, 18F
→
08/06 00:20, , 19F
08/06 00:20, 19F
→
08/06 00:22, , 20F
08/06 00:22, 20F
→
08/06 00:23, , 21F
08/06 00:23, 21F
→
08/06 09:08, , 22F
08/06 09:08, 22F
→
08/06 09:09, , 23F
08/06 09:09, 23F
討論串 (同標題文章)