Re: [請益] $GET_[]的小問題

看板PHP作者 ((short)(-15074))時間15年前 (2008/11/11 17:52), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《joedenkidd (優質的藍色射手)》之銘言: : 各位版友好: : <? : echo $_GET['a']; : echo $_GET["a"]; : echo $_GET[a]; : ?> : 當我帶參數10時,通通都是顯示10。 : 想請問一下這三個除了形式還有什麼不同呢? 'a' 和 "a" 都是字串 只是差在 php 會不會去字串當中找變數代換而已 (''不會 ""會) 而第三種在這個情形下會把 a 代入值 'a' 這裡是這麼運作的: php 看到沒有加 $ 的 a 會去找有沒有一個常數叫做 a (這個常數可以是內定 也可以是用 define() 定義的常數) 發現找不到之後它會去抓預設值 這個預設值是內容為這個常數名字的字串 在這個情形裡就是 'a' (也就是說 萬一有人先做了 define('a','b') 的話 那 $_GET[a] 就會變成 $_GET['b'] 了) -- 'Oh, Harry, dont't you see?' Hermione breathed. 'If she could have done one thing to make absolutely sure that every single person in this school will read your interview, it was banning it!' ---'Harry Potter and the order of the phoenix', P513 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.30.84

11/12 06:10, , 1F
還有就是速度問題,$_GET[a] 速度遠慢於 $_GET['a']
11/12 06:10, 1F

11/12 09:42, , 2F
沒錯 這正是因為php會去找有沒有人定義常數a
11/12 09:42, 2F

11/12 09:43, , 3F
可是php裡其他人定義的常數像山一樣高...
11/12 09:43, 3F
文章代碼(AID): #196LN8RC (PHP)
討論串 (同標題文章)
文章代碼(AID): #196LN8RC (PHP)