文章出處
文章列表
在PHP中,變量是$+變量名,變量名遵循標識符的命名規則,可以以字母、下劃線開頭,可以由數字、下劃線、字母組成合法的變量名。
變量聲明
所有變量在使用之前應該進行聲明,而且最好帶上注釋,雖然在PHP中可以不顯示聲明變量。聲明變量之后,可以為變量進行賦值;變量的賦值有兩種類型值賦值和引用賦值。
<?php
#合法的聲明變量
$_name;
$account;
$show_title;
#賦值
$color="red";
#引用賦值
$user_color=&$color;
?>
變量的作用域
在PHP腳本中的任何位置都可以聲明變量,但是根據位置的不同,作用域的范圍也不同。
- 局部變量
一般局部變量都是在函數中聲明,即它只能在函數中被引用,函數退出時改變量及其值被銷毀。如果在函數外使用該變量,PHP會把它當作另外一個變量進行處理,與函數中的變量無任何關系。
<?php
$x=5;
function show_x() {
$x=3;
echo $x;
}
show_x();
echo $x;
?>
- 函數參數
函數參數更具其傳遞的方式分為兩種,按值傳遞和按引用傳遞;如果是按值傳遞,參數的作用域只限于函數內,函數退出后參數被銷毀。但按引用傳遞,參數的作用域范圍不僅在函數內部。
<?php
$cost_fish=20.10;
$cost_apple=2.45;
#引用參數前面需要加上&符號
function rise($cost_fish,&$cost_apple) {
$cost_fish++;
$cost_apple++;
}
rise($cost_fish,$cost_apple);
echo $cost_fish."值傳遞參數<--->引用傳遞參數".$cost_apple;
?>
- 全局變量
可以在腳本中的任何一個地方訪問全局變量,但在函數中要修改全局變量的時候需要使用關鍵字global顯式的聲明。
<?php
$x=5;
function show_x() {
global $x;
$x++;
}
show_x();
?>
通過$GLOBAL數組也可以聲明全局變量
<?php
$number=15;
function calc() {
$GLOBALS["number"]++;
}
calc();
echo $number;
?>
使用全局變量一定要謹慎,用多了之后很容易造成代碼混亂。
- 靜態變量
靜態變量與函數參數不同在于,靜態變量聲明的時候多了static關鍵字,使得靜態變量在函數退出之后不會被銷毀,并且保留這個值在函數再次調用的時候使用該值。
<?php
function spend() {
static $date=0;
$date++;
echo $date;
}
spend();
spend();
?>
PHP預定義變量
PHP中預定義了很多變量,可以在執行腳本的任何位置訪問他們,這些變量主要是提供了大量關于環境的信息。
//打印出$_SERVER 預定義的變量信息
foreach($_SERVER as $var =>$value){
echo "$var=>$value<br/>";
}
更多關于PHP變量的內容:http://php.net/manual/en/language.variables.php
文章列表
全站熱搜