P002PHP開(kāi)發(fā)之變量定義

1.定義常量define("CONSTANT", "Hello world.");

常量只能包含標(biāo)量數(shù)據(jù)(boolean面睛,integer,float 和 string)灶芝。
調(diào)用常量時(shí)荡碾,只需要簡(jiǎn)單的用名稱取得常量的值,而不能加“$”符號(hào)钠绍,如:echo CONSTANT媒熊;
注: 常量和(全局)變量在不同的名字空間中宏胯。這意味著例如 TRUE 和 $TRUE 是不同的溯祸。

2.普通變量$a = "hello";

3.可變變量(使用兩個(gè)美元符號(hào)($))

$$a = "world";  //在這里相當(dāng)于$hello="world";
兩個(gè)變量都被定義了:
$a 的內(nèi)容是“hello”并且 $hello 的內(nèi)容是“world”肢专。
因此,可以表述為:
echo "$a ${$a}";或者 echo "$a $hello";它們都會(huì)輸出:hello world

要將可變變量用于數(shù)組焦辅,必須解決一個(gè)模棱兩可的問(wèn)題博杖。這就是當(dāng)寫下 $$a[1] 時(shí),解析器需要知道是想要 $a[1] 作為一個(gè)變量呢筷登,還是想要 $$a 作為一個(gè)變量并取出該變量中索引為 [1] 的值剃根。解決此問(wèn)題的語(yǔ)法是,對(duì)第一種情況用 ${$a[1]}前方,對(duì)第二種情況用 ${$a}[1]狈醉。

4.靜態(tài)變量

在函數(shù)內(nèi)部static $a = 0;

注意:聲明中用表達(dá)式的結(jié)果對(duì)其賦值會(huì)導(dǎo)致解析錯(cuò)誤如static $a =3+3;(error)
靜態(tài)變量?jī)H在局部函數(shù)域中存在(函數(shù)內(nèi)部),函數(shù)執(zhí)行完之后镣丑,變量值不會(huì)丟失,可用于遞歸調(diào)用

5.全局變量

在函數(shù)體內(nèi)定義的global變量,函數(shù)體外可以使用,在函數(shù)體外定義的global變量不能在函數(shù)體內(nèi)使用舔糖,在全局范圍內(nèi)訪問(wèn)變量可以用特殊的 PHP 自定義 $GLOBALS 數(shù)組:

如:$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];

在一個(gè)函數(shù)域內(nèi)用 global 語(yǔ)句導(dǎo)入的一個(gè)真正的全局變量實(shí)際上是建立了一個(gè)到全局變量的引用
global $obj;
注:對(duì)于變量的 static 和 global 定義是以 應(yīng)用 的方式實(shí)現(xiàn)的

6.給變量賦值:傳地址賦值(簡(jiǎn)單引用):

$bar = &$foo; //加&符號(hào)到將要賦值的變量前
改動(dòng)新的變量將影響到原始變量娱两,這種賦值操作更加快速
注意:只有命名變量才可以傳地址賦值
注意:如果
$bar = &$a;
$bar = &$foo;
改變$bar的值只能改變變量foo的值莺匠,而不改變a的值(引用改變了)

7.PHP 超全局變量$GLOBALS :

包含一個(gè)引用指向每個(gè)當(dāng)前腳本的全局范圍內(nèi)有效的變量。該數(shù)組的鍵標(biāo)為全局變量的 名稱十兢。從 PHP 3 開(kāi)始存在 $GLOBALS 數(shù)組趣竣。

$_SERVER : 變量由 Web 服務(wù)器設(shè)定或者直接與當(dāng)前腳本的執(zhí)行環(huán)境相關(guān)聯(lián)。類似于舊數(shù)組 $HTTP_SERVER_VARS 數(shù)組(依然有效旱物,但反對(duì)使用)遥缕。
$_GET : 經(jīng)由 HTTP GET 方法提交至腳本的變量。
$_POST : 經(jīng)由 HTTP POST 方法提交至腳本的變量宵呛。
$_COOKIE : 經(jīng)由 HTTP Cookies 方法提交至腳本的變量单匣。
$_FILES : 經(jīng)由 HTTP POST 文件上傳而提交至腳本的變量。

文件上傳表單中要有 enctype="multipart/form-data"

$_ENV : 執(zhí)行環(huán)境提交至腳本的變量。
$_REQUEST :經(jīng)由 GET户秤,POST 和 COOKIE 機(jī)制提交至腳本的變量码秉,因此該數(shù)組并不值得信任。所有包含在該數(shù)組中的變量的存在與否以及變量的順序均按照 php.ini 中的 variables_order 配置指示來(lái)定義鸡号。該數(shù)組沒(méi)有直接模擬 PHP 4.1.0 的早期版本转砖。參見(jiàn) import_request_variables()。
注意: 自 PHP 4.3.0 起鲸伴,$_FILES 中的文件信息不再存在于 $_REQUEST 中府蔗。
$_SESSION :當(dāng)前注冊(cè)給腳本會(huì)話的變量。

如何禁用phpinfo():

php.ini中
disable_functions = phpinfo()

php中的常量
常量只能用define(常量名,常量值);
常量只能包含標(biāo)量數(shù)據(jù)(boolean汞窗,integer姓赤,float 和 string)。
可以簡(jiǎn)單的通過(guò)指定其名字來(lái)取得常量的值仲吏,不要在常量前面加上 $ 符號(hào)模捂。如果常量名是動(dòng)態(tài)的,也可以用函數(shù)

constant() 來(lái)讀取常量的值蜘矢。用 get_defined_constants() 可以獲得所有已定義的常量列表狂男。
如果只想檢查是否定義了某常量,用 defined() 函數(shù)品腹。

常量和變量不同:

  • 常量前面沒(méi)有美元符號(hào)($)岖食;
  • 常量只能用 define() 函數(shù)定義,而不能通過(guò)賦值語(yǔ)句舞吭;
  • 常量可以不用理會(huì)變量范圍的規(guī)則而在任何地方定義和訪問(wèn)泡垃;
  • 常量一旦定義就不能被重新定義或者取消定義;
  • 常量的值只能是標(biāo)量羡鸥。
    定義常量
    <?PHP

    define("CONSTANT", "Hello world.");
    echo CONSTANT; // outputs "Hello world."
    echo Constant; // outputs "Constant" and issues a notice.
    ?> 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蔑穴,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子惧浴,更是在濱河造成了極大的恐慌存和,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件衷旅,死亡現(xiàn)場(chǎng)離奇詭異捐腿,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)柿顶,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門茄袖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人嘁锯,你說(shuō)我怎么就攤上這事宪祥∧粜剑” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵蝗羊,是天一觀的道長(zhǎng)胆建。 經(jīng)常有香客問(wèn)我,道長(zhǎng)肘交,這世上最難降的妖魔是什么笆载? 我笑而不...
    開(kāi)封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮涯呻,結(jié)果婚禮上凉驻,老公的妹妹穿的比我還像新娘。我一直安慰自己复罐,他們只是感情好涝登,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著效诅,像睡著了一般胀滚。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上乱投,一...
    開(kāi)封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天咽笼,我揣著相機(jī)與錄音,去河邊找鬼戚炫。 笑死剑刑,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的双肤。 我是一名探鬼主播施掏,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼茅糜!你這毒婦竟也來(lái)了七芭?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蔑赘,失蹤者是張志新(化名)和其女友劉穎狸驳,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體米死,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锌历,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了峦筒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡窗慎,死狀恐怖物喷,靈堂內(nèi)的尸體忽然破棺而出卤材,到底是詐尸還是另有隱情,我是刑警寧澤峦失,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布扇丛,位于F島的核電站,受9級(jí)特大地震影響尉辑,放射性物質(zhì)發(fā)生泄漏帆精。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一隧魄、第九天 我趴在偏房一處隱蔽的房頂上張望卓练。 院中可真熱鬧,春花似錦购啄、人聲如沸襟企。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)顽悼。三九已至,卻和暖如春几迄,著一層夾襖步出監(jiān)牢的瞬間蔚龙,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工映胁, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留府蛇,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓屿愚,卻偏偏與公主長(zhǎng)得像汇跨,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子妆距,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容