作者LPH66 ((short)(-15074))
看板PHP
標題Re: [請益] $GET_[]的小問題
時間Tue Nov 11 17:52:06 2008
※ 引述《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
推 ckmarkhsu :還有就是速度問題,$_GET[a] 速度遠慢於 $_GET['a'] 11/12 06:10
→ LPH66 :沒錯 這正是因為php會去找有沒有人定義常數a 11/12 09:42
→ LPH66 :可是php裡其他人定義的常數像山一樣高... 11/12 09:43