PHP 的變數不需特別宣告其型別,會自動透過變數的值來判斷型別
PHP 設定變數的方式很簡單,由錢字號($)開始,後面接著變數名稱,名稱有大小寫之分。
名稱可以是英文、數字、底線和十六進位制為0x7f-0xff的字元所組成,但是「第一個字元」不能是數字。
用等於符號(=)來設定變數的值,若設定的值為字串時,則必需使用單引號(')或雙引號(")包起來,字串間若要連接其它的字串或變數,則使用點符號(.)來連接。
常見的變數用法
$test=123; //設定變數test為數字123
$test=3.14159; //設定變數test為浮點數3.14159
$test=true; //設定變數test為布林值
$test="hello world"; //設定變數test為字串 hello world
$test='<a href="xxx.php">連結</a>'; //設定變數test為HTML的超連結內容
$test="<a href=\"xxx.php\">連結</a>"; //設定變數test為HTML的超連結內容,裡面若使用相同的引號需加跳脫字元
$a='click this '.$test; //設定a變數的結果為字串加上$test變數的內容
區域變數
在function裡使用的變數稱之為區域變數,只會在function裡面有效
function myFun()
{
$test='hello world';
echo $test; //會印出hello world
}
echo $test; //不會印出任何文字
全域變數
在function裡使用global來定義要調用的全域變數
$test='hello world';
function myFun(){
global $test;
echo $test; //會印出hello world
}
function myFun2(){
echo $test; //不會印出任何文字
}
靜態變數
區域變數在function結束時就會消失, 旦如果不讓它消失可以在第一次使用時加上static來定義它為靜態變數。
function myFun(){
static $n=0;
$n++; //每次呼叫都做+1的動作
echo $n; //會印出被呼叫的次數
}
myFun(); //會印出1
myFun(); //會印出2
myFun(); //會印出3…依此類推
參數 parameter
呼叫function時傳入的區域變數。 在編寫function的時候宣告參數
function myFun($n){
echo $n; //會印出傳入的參數內容
}
myFun(2); //會印出2
myFun('test'); //會印出test
參數在宣告時可指定預設值
function myFun($n='未給值'){
echo $n; //會印出傳入的參數內容
}
myFun(); //會印出「未給值」
myFun('test'); //會印出test