[PHP典型模塊與項目實戰大全]-第三章(局部、全局和靜態變數介紹)
[PHP典型模塊與項目實戰大全]-第三章(局部、全局和靜態變數介紹)
code2html:http://tohtml.com/
局部、全局和靜態變數介紹
局部變數:
局部變數其實是一種變數,但它與變通變數不同,它們在函數內部定義,並只在函數內部起作用的變數。
總體變數:
與局部變數和普通變數不同的是,總體變數是函數內部定義,在函數內外都起作用的一種變數。
靜態變數:
靜態變數的值在相應的函數中一旦被定義,在下次使用該函數時靜態變數的值應該為上次修改後的值。它的值在同一個作用域中都會保持不變。
<?php
/* double1()函數內的變數$varInt是一個局部變數, 而在該函數外部定義的同名變數是一個外部變數 */
function double1($varInt)//不改變全域變數
{
$varInt=$varInt*2;
return$varInt;
}
$varInt=5;
echo"\$varInt0 is ".double1($varInt)."<br>";
echo"\$varInt1 is ".$varInt."<br>";
//在double2()函數內的變數$varInt是對在該函數外部定義的同名變數的引用
function double2(&$varInt)//會改變全域變數,傳位址方式是取全域變數
{
$varInt=$varInt*2;
}
$varInt=5;
double2($varInt);
echo"\$varInt2 is ".$varInt."<br>";
function double3()//會改變全域變數
{
global$varInt;//注意這行
$varInt=$varInt*2;
}
double3();
echo"\$varInt3 is ".$varInt."<br>";
?>