第二章 變量

簡而言之,變量是臨時存儲值的容器。(是程序中數據臨時存放的場所)。php腳本語言是一種弱類型檢查語言,和其他語言不同的是,變量、常量的數據類型是由程序的上下文決定。

一,變量的聲明

$a = 100;  //聲明一個變量$a,賦上一個整型100;
$key1 = $a; //聲明一個變量$key1;將$a變量的值賦給它;
$a = $b = $c = $d = "value"; //同時聲明多個變量,並賦上相同的值;

php的變量聲明以後有一定的使用範圍,變量的範圍即它定義的上下文背景(也就是它的生效範圍)。如果在函數裏聲明的變量,則只能在函數裏用,外部聲明的變量,函數
內不也不能用。如果不是在函數裏面聲明的,則不僅能在<?php ?>裏使用,也可以在一個頁面的所有開啓PHP模式下使用,也包含了include和require引入文件。

在變量的使用範圍內,

unset();// 釋放指定的變量。
isset();// 檢測變量是否被設置
empty();//檢查一個變量是否爲空。“”、0、“0”、NULL、FALSE、array()、var $var ,及沒有任何屬性的對象都被認爲是空的,如果參數爲空,則返回TRUE;

二,變量的命名

變量是嚴格區分大小寫的,一個有效的變量名由字母或下劃線開頭,,後面跟上任意數量的字母、數字或者下劃線。按照正常的正則表達式,可表述爲:

'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'

但注意,變量名的標識符一定不以數字開頭,中間不能使用空格,不能使用點分開等。

$4site = 'no'; //非法變量名,以數字開頭
$_4site = 'yes';   //合法變量名,以下劃線開頭
$i站點site = 'yes';  //合法變量名,可以用中文

PHP中有一些標識符是系統定義的的,也稱爲關鍵字,它們時php語言的組成部分,因此不能使用它們的任何一個作爲常量、函數名或類名。但是系統關鍵字可以在php中作爲變量名使用,不過這樣容易混淆,所以最好不用php關鍵字作爲變量名稱。
如果變量是一個單詞構成,通常採用全部小寫方式作爲變量名。如果變量是由多個單詞構成的,則第一個單詞采用全部小寫,以後每個單詞首字母採用大寫。如$myNameIsWangChen,函數命名也採用同樣規則。

三,可變變量

一個變量的變量名可以動態的設置和使用。

$hi = "hello";
$$hi = "world";

echo "$hi $hello";  //輸出兩個單詞  hello world
echo "$hi ${$hi}"; //輸出兩個單詞  hello world

在上面的例子中。”hi”使用了兩個$以後,就可以作爲一個可變變量了。這時兩個變量都被定義了,$hello的值是”world”。$$hi$hello 是等價的。

四,變量的引用賦值

引用賦值:新的變量簡單地引用了(指向)原始變量。改變新的變量,將影響到原始變量,反之亦然。

$foo = "Bob"; //原始變量
$bar = &$foo; //將變量$foo的引用賦值給變量$bar

$bar = "My name is Tom";//改變$bar的值
echo $bar; //變量$bar的值改變,輸出"My name is Tom"
echo $foo; //變量$foo的值改變,輸出"My name is Tom"

$foo = "My name is Tom";//改變$foo的值
echo $bar; //變量$bar的值改變,輸出"Your name is Bom"
echo $foo; //變量$foo的值改變,輸出"Your name is Bom"

前提是隻有兩個有名字的變量纔可以引用賦值。
$bar = &$foo;不會導致$bar和$foo在內存上同體,所以在執行unset()後,變量 $bar和$foo僅僅是相互取消關聯,$foo並沒有因爲$bar的釋放而消失。$bar也不會因爲$foo的釋放而消失。

$foo = 100; 
$bar = &$foo;
unset($bar);
echo $foo;//值爲100
$foo = 100; 
$bar = &$foo;
unset($foo);
echo $bar;//值爲100

五,變量的類型

變量的類型

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章