PHP變量

PHP中變量是指用一個美元符號($)作爲前綴的標識符。

變量的聲明位置決定了一個變量的作用域,也決定了程序中哪些部分可以訪問它。

PHP變量有四種類型的作用域:

#局部作用域

#全局作用域

#靜態作用域

#函數參數


/*
 * 局部變量:函數內部定義的變量,作用域爲所在函數。
 * 全局變量:定義在所有函數以外的變量,起作用域是整個PHP文件,但在用戶自定義函數內部是不可用的。
 *           如果希望在用戶自定義函數內部使用全局變量,則要用global關鍵字聲明全局變量。
 * 靜態變量:函數調用結束後仍保留變量值,當再次回到其作用域時(當再次回到其作用域時!!!)又可以繼續使用原來的值。
 */


//  變量名不能以字母和下劃線以外的其他字符開頭。
$thisCup="oink";
$_Class="roof";

//  變量間的賦值是指複製後兩個變量使用各自的內存,互不干擾
$str1 = "aaaaa";
$str2 = $str1;
$str1 = "bbbbb";
echo "$str1-$str2 \n";

//通過 & 取得引用
$i = "spcn";
$j = & $i;
$i = "hello";
echo "$j-$i \n";
#
#   賦值是將原變量內容賦值,開闢新的內存空間來保持
#   引用是給變量的內容再起一個名字
#

$example = "out";
function example() {
    $example = "inside";
    echo "In function: $example \n";
}
example();
echo "out function: $example \n";


//  靜態變量的聲明
function zdy() {
    static $message = 0;
    $message ++;
    echo "$message _ ";
}

function zdy1() {
    $message = 0;
    $message ++;
    echo "$message _ ";
}

for($i = 0; $i < 10; $i++)  zdy(); echo "\n";
for($i = 0; $i < 10; $i++)  zdy1(); echo "\n";

//  全局變量測試
$theWorld = "world";
function theWorld() {
    echo "1. $theWorld \n";
    global $theWorld;
    echo "2. $theWorld \n";
}
theWorld();

//  可變變量
$change_name = "trans";
$trans = "I am trans.";
$anotherTrans = "I am anotherTrans";
echo $$change_name ."\n";
$change_name = "anotherTrans";
echo $$change_name ."\n";

//  PHP預定義變量
echo "<br />當前運行腳本所在的文檔根目錄:$_SERVER[DOCUMENT_ROOT] \n";
echo "<br />請求方法:$_SERVER[REQUEST_METHOD] \n";
echo "<br />請求用戶的IP地址:$_SERVER[REMOTE_ADDR] \n";
echo "<br />請求用戶的主機名:$_SERVER[REMOTE_HOST] \n";
echo "<br />用戶連接到服務器時所用的接口:$_SERVER[REMOTE_PORT] \n";
echo "<br />服務器IP地址:$_SERVER[SERVER_ADDR] \n";
echo "<br />服務器主機名:$_SERVER[SERVER_NAME] \n";
echo "<br />服務器所使用的端口:$_SERVER[SERVER_PORT] \n";
echo "<br />包含服務器版本和虛擬主機名的字符串:$_SERVER[SERVER_SIGNATURE] \n";
echo "<br />當前腳本的絕對路徑名:$_SERVER[SCRIPT_FILENAME] \n";
// $_COOKIE
// $_SESSION
// $_POST
// $_GET
// $GLOBALS     #由所有已定義全局變量組成的數組。變量名就是該數組的索引。它可以稱得上是所有超級變臉的超級集合。


發佈了16 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章