標籤:引用 ora color extends cursor seo tom 組合 ado
×目錄[1]變數定義 [2]關鍵字 [3]變數賦值[4]可變變數[5]變數函數前面的話
變數是用於臨時儲存值的容器。這些值可以是數字、文本,或者複雜得多的排列組合。變數在任何程式設計語言中都居於核心地位,理解它們是使用php的關鍵所在。下面將詳細介紹php中的變數
[注意]關於javascript中的變數部分移步至此
變數定義
php的特性之一就是它不要求在使用變數之前聲明變數,當第一次給一個變數賦值時,才建立了這個變數
變數以$符號開頭,其後是變數的名稱。變數名稱必須以字母或底線開頭,對大小寫敏感
<?php$x=5;echo $x;//5echo $X;//報錯?>
[注意]內建結構和關鍵字以及使用者自訂的類名和函數名是不區分大小寫,比如echo、while、函數名稱等都可以任意大小
<?php //輸出123 echo 1; Echo 2; eCho 3;?>
關鍵字
php中有一些是系統定義的,也稱為關鍵字,是php語言的組成部分、因此不能使用它們中的任何一個作為常量、函數名或類名。但是和其他語言不同的是,系統關鍵字可以在php中作為變數名稱使用,不過這樣容易混淆,所以最好還是不要以php關鍵字作為變數名稱
<?php //輸出123 $echo = 123; echo $echo;?>
下面是常用的php關鍵詞列表
abstract and array as break callable case catch class cloneconst continue declare
default diedo echo else elseif emptyenddeclare endfor endforeach endif
endswitchendwhile eval exit extends final finally for foreach function global
goto if implements include instanceof insteadof interface isset list namespace
new or print private protectedpublic require return static switchthrow trait
try unset usevar while xor yield
變數賦值
一般地,變數總是傳值賦值,也就是說,將一個運算式的值賦予一個變數時,整個原始運算式的值被賦值到目標變數。這意味著,一個變數的值賦予另外一個變數時,改變其中一個變數的值,將不會影響到另外一個變數
[注意]雖然在PHP中並不需要初始設定變數,但對變數進行初始化是個好習慣。未初始化的變數具有其類型的預設值——布爾類型的變數預設值是FALSE,整型和浮點型變數預設值是0,字串型變數預設值是Null 字元串,陣列變數的預設值是空數組
<?php $a1 = 123; $a2 = $a1; $a1 = 234; //輸出234 echo $a1; echo ‘<br>‘; //輸出123 echo $a2;?>
php中提供了另外一種方式給變數賦值:引用賦值。這意味著新的變數簡單地引用了原始變數。改動新的變數將影響到原始變數,反之亦然
使用引用賦值,簡單地將一個‘&‘符號加到源變數前即可
<?php $a1 = 123; $a2 = &$a1; $a1 = 234; //輸出234 echo $a1; echo ‘<br>‘; //輸出234 echo $a2;?>
可變變數
一個變數的變數名可以動態地設定和使用。一個普通的變數通過聲明來設定,而一個可變變數擷取了一個普通變數的值作為這個可變變數的變數名
<?php $hi = ‘hello‘; $$hi = ‘world‘; echo "$hi $hello";//‘hello world‘ echo "$hi ${$hi}";//‘hello world‘?>
變數函數
變數函數數量眾多,一些函數會在後面博文再做相關介紹。現在,主要介紹isset()、unset()和var_dump()這三個函數
var_dump()函數用來返回變數的類型和值
<?php$p = 3.14;var_dump($p);//float 3.14$p = ‘abc‘;var_dump($p);//string ‘abc‘ (length=3)?>
unset()函數用來釋放指定的變數
<?php$p = ‘abc‘;echo $p;//‘abc‘unset($p);echo $p;//報錯?>
isset()函數用來檢測變數是否設定,當一個變數被設定為NULL或被釋放,則返回true,否則返回false
<?php$p = ‘abc‘;var_dump(isset($p));//boolean true$p = NULL;var_dump(isset($p));//boolean falseunset($p);var_dump(isset($p));//boolean false?>
前端學PHP之變數