看板 PHP 關於我們 聯絡資訊
※ 引述《wercc (Wercc)》之銘言: : 在用三元運算子的時候,遇到了一個問題。以簡單的例子來說大概是這樣: : 二、 : $age = 3; $ticket = "票價" . ($age > 12) ? "100" : "50" ; 因為字串連結'.'優先於測試'?'的判斷 所以不管"票價"後接什麼,還是為true(有字串"票價"啊..) $ticket = "票價" . (($age > 12) ? "100" : "50"); 增加括號限制優先順序 : echo ($ticket); : 用第ㄧ個方法,就可以輸出正確的答案 : 但為什麼用第二個寫法,卻是輸出100呢? : 請懂的人跟我想一下是哪裡的問題好嗎,謝謝 總之.. 這是個好問題 我的習慣是概念性拆開來寫 程式碼會比較清楚易閱讀 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.24.33
gmoz:喔喔 學到新東西 感謝問和答的人 XD 08/20 16:14
wercc:謝謝 ^^ 08/20 16:42
※ 編輯: JeffMcBride 來自: 140.114.24.33 (08/20 19:01)
pakker:第一種等同於 ("票價".($age>12)) ? "100" : "50"; 08/21 20:21
pakker:+,-,.的順序比?:高 08/21 20:22