- 相關(guān)推薦
PHP的變量是什么
PHP中的每個變量都有一個針對它的作用域,它是指可以在其中訪問變量(從而訪問它的值)的一個領(lǐng)域。對于初學(xué)者來說,變量的作用域是它們所駐留的頁面。我們?yōu)榇蠹沂占砹岁P(guān)于PHP的變量,以方便大家參考。
PHP的變量是什么1
變量是程序中或以變化的量,用于存儲數(shù)字、字符串或函數(shù)的結(jié)果。
一旦設(shè)置了某個變量,我們就可以在腳本中重復(fù)地使用它。
PHP 中的所有變量都是以 $ 符號開始的。
在 PHP 中設(shè)置變量的正確方法是:
$var_name = value;
PHP 的入門者往往會忘記在變量的前面的 $ 符號。如果那樣做的話,變量將是無效的。
下面我們創(chuàng)建一個存有字符串的變量,和一個存有數(shù)值的變量:
$txt = "Hello World!";
$number = 16;
PHP 是一門松散類型的語言(Loosely Typed Language)
在 PHP 中,不需要在使用變量之前先聲明該變量。
在上面的例子中,您看到了,不必向 PHP 聲明該變量的數(shù)據(jù)類型。
根據(jù)變量被設(shè)置的方式,PHP 會自動地把變量轉(zhuǎn)換為正確的`數(shù)據(jù)類型。
在強類型的編程語言中,您必須在使用前聲明變量的類型和名稱。
在PHP中,變量會在使用時被自動聲明。
變量的命名規(guī)則
變量名必須以字母或下劃線 "_" 開頭。
變量名只能包含字母數(shù)字字符以及下劃線。
變量名不能包含空格。
如果變量名由多個單詞組成,那么應(yīng)該使用下劃線進(jìn)行分隔(比如 $my_string),或者以大寫字母開頭(比如 $myString)。
PHP的變量是什么2
變量是存儲信息的容器:
實例
<?php
$x=5;
$y=6;
$z=$x+$y;
echo $z;
?>
類似代數(shù)
x=5
y=6
z=x+y
在代數(shù)中我們使用字母(比如 x)來保存值(比如 5)。
從上面的表達(dá)式 z=x+y,我們能夠計算出 z 的值是 11。
在 PHP 中,這三個字母被稱為變量。
注釋:請把變量視為存儲數(shù)據(jù)的容器。
PHP 變量
正如代數(shù),PHP 變量可用于保存值(x=5)和表達(dá)式(z=x+y)。
變量的名稱可以很短(比如 x 和 y),也可以取更具描述性的名稱(比如 carname、total_volume)。
PHP 變量規(guī)則:
變量以 $ 符號開頭,其后是變量的名稱
變量名稱必須以字母或下劃線開頭
變量名稱不能以數(shù)字開頭
變量名稱只能包含字母數(shù)字字符和下劃線(A-z、0-9 以及 _)
變量名稱對大小寫敏感($y 與 $Y 是兩個不同的變量)
注釋:PHP 變量名稱對大小寫敏感!
創(chuàng)建 PHP 變量
PHP 沒有創(chuàng)建變量的命令。
變量會在首次為其賦值時被創(chuàng)建:
實例
<?php
$txt="Hello world!";
$x=5;
$y=10.5;
?>
以上語句執(zhí)行后,變量 txt 會保存值 Hello world!,變量 x 會保存值 5,變量 y 會保存值 10.5。
注釋:如果您為變量賦的值是文本,請用引號包圍該值。
PHP 是一門類型松散的語言
在上面的例子中,請注意我們不必告知 PHP 變量的數(shù)據(jù)類型。
PHP 根據(jù)它的值,自動把變量轉(zhuǎn)換為正確的數(shù)據(jù)類型。
在諸如 C 和 C++ 以及 Java 之類的語言中,程序員必須在使用變量之前聲明它的`名稱和類型。
PHP 變量作用域
在 PHP 中,可以在腳本的任意位置對變量進(jìn)行聲明。
變量的作用域指的是變量能夠被引用/使用的那部分腳本。
PHP 有三種不同的變量作用域:
local(局部)
global(全局)
static(靜態(tài))
Local 和 Global 作用域
函數(shù)之外聲明的變量擁有 Global 作用域,只能在函數(shù)以外進(jìn)行訪問。
函數(shù)內(nèi)部聲明的變量擁有 LOCAL 作用域,只能在函數(shù)內(nèi)部進(jìn)行訪問。
下面的例子測試了帶有局部和全局作用域的變量:
實例
<?php
$x=5; // 全局作用域
function myTest() {
$y=10; // 局部作用域
echo "
測試函數(shù)內(nèi)部的變量:
";
echo "變量 x 是:$x";
echo "
";
echo "變量 y 是:$y";
}
myTest();
echo "
測試函數(shù)之外的變量:
";
echo "變量 x 是:$x";
echo "
";
echo "變量 y 是:$y";
?>
在上例中,有兩個變量 $x 和 $y,以及一個函數(shù) myTest()。$x 是全局變量,因為它是在函數(shù)之外聲明的,而 $y 是局部變量,因為它是在函數(shù)內(nèi)聲明的。
如果我們在 myTest() 函數(shù)內(nèi)部輸出兩個變量的值,$y 會輸出在本地聲明的值,但是無法 $x 的值,因為它在函數(shù)之外創(chuàng)建。
然后,如果在 myTest() 函數(shù)之外輸出兩個變量的值,那么會輸出 $x 的值,但是不會輸出 $y 的值,因為它是局部變量,并且在 myTest() 內(nèi)部創(chuàng)建。
注釋:您可以在不同的函數(shù)中創(chuàng)建名稱相同的局部變量,因為局部變量只能被在其中創(chuàng)建它的函數(shù)識別。
PHP global 關(guān)鍵詞
global 關(guān)鍵詞用于訪問函數(shù)內(nèi)的全局變量。
要做到這一點,請在(函數(shù)內(nèi)部)變量前面使用 global 關(guān)鍵詞:
實例
<?php
$x=5;
$y=10;
function myTest() {
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 輸出 15
?>
PHP 同時在名為 $GLOBALS[index] 的數(shù)組中存儲了所有的全局變量。下標(biāo)存有變量名。這個數(shù)組在函數(shù)內(nèi)也可以訪問,并能夠用于直接更新全局變量。
上面的例子可以這樣重寫:
實例
<?php
$x=5;
$y=10;
function myTest() {
$GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
}
myTest();
echo $y; // 輸出 15
?>
PHP static 關(guān)鍵詞
通常,當(dāng)函數(shù)完成/執(zhí)行后,會刪除所有變量。不過,有時我需要不刪除某個局部變量。實現(xiàn)這一點需要更進(jìn)一步的工作。
要完成這一點,請在您首次聲明變量時使用 static 關(guān)鍵詞:
實例
<?php
function myTest() {
static $x=0;
echo $x;
$x++;
}
myTest();
myTest();
myTest();
?>
然后,每當(dāng)函數(shù)被調(diào)用時,這個變量所存儲的信息都是函數(shù)最后一次被調(diào)用時所包含的信息。
注釋:該變量仍然是函數(shù)的局部變量。
PHP的變量是什么3
(一)常量
變量可以隨時重新賦值
//$age = 22;
//$age = 23;
//echo "
",$age;
(二)變量和常量的區(qū)別?
1. 它們的聲明方式不同
2. 而常量一旦聲明,不能改變其值
define('PI',3.14);
PI =3.23;語法錯誤
echo "
",PI;
3. 變量可以銷毀,而常量一旦主義也不能銷毀
unset($age);
var_dump($age);
4.常量是不能注銷的
unset(PI); //語法錯誤,不允許注銷
echo PI;
5. 變量有其作用域,函數(shù)內(nèi)部默認(rèn)情況訪問不到外部的變量,
而常量,一旦定義,無論是在全局定義,還是在函數(shù)內(nèi)部主義。
在頁面的任意位置都可以訪問到。
(三) 變量與常量的'命名規(guī)范
1.常量的命名規(guī)范,從語法角度和變量是一樣的。
允許是字母、數(shù)字、下劃線的組合,并且數(shù)字不能開頭
2. 從習(xí)慣角度講:一般常量用“大寫”
//define('SF',342);
//echo SF; //最新的版本已經(jīng)對常量名區(qū)分大小寫
(四)常量的值允許是哪幾種?
1. 只能把標(biāo)量型(單一型)賦給常量;
2. 不能把復(fù)合型,如數(shù)組,對象賦給一常量。
3. 資源型 如果賦給常量,如引來一些不可預(yù)料的錯誤。
代碼如下:
define('AGE',22);
define('HEI',343.234);
define('ROOT','D:/www');
define('LOCK',true);
define('NON',NULL);
echo AGE,HEI,ROOT;
var_dump(LOCK);
var_dump(NON);
PHP的變量是什么4
超級全局變量也叫做預(yù)定義變量,是PHP系統(tǒng)中自帶的變量,它可讓你的程序設(shè)計更加的方便快捷。它的類型包括:
$GLOBALS
包含一個引用指向每個當(dāng)前腳本的'全局范圍內(nèi)有效的變量。該數(shù)組的鍵名為全局變量的名稱。從 PHP 3 開始存在 $GLOBALS 數(shù)組。
$_SERVER
變量由 web 服務(wù)器設(shè)定或者直接與當(dāng)前腳本的執(zhí)行環(huán)境相關(guān)聯(lián)。類似于舊數(shù)組
$_GET
經(jīng)由 URL 請求提交至腳本的變量。
$_POST
經(jīng)由 HTTP POST 方法提交至腳本的變量。
$_COOKIE
經(jīng)由 HTTP Cookies 方法提交至腳本的變量。
$_FILES
經(jīng)由 HTTP POST 文件上傳而提交至腳本的變量。
$_ENV
執(zhí)行環(huán)境提交至腳本的變量。
$_REQUEST
經(jīng)由 GET,POST 和 COOKIE 機制提交至腳本的變量。
$_SESSION
當(dāng)前注冊給腳本會話的變量。
具體這些信息在這里就不一一的交待了,大家可以新建一個PHP文件,在文件中寫上以下代碼。
復(fù)制代碼 代碼如下:
<?php
phpinfo();
?>
并執(zhí)行,你就可以看到以下畫面
在這個頁面當(dāng)中,你就可以查看到系統(tǒng)當(dāng)中存在的各種類型的超級全局變量,從而也可以去應(yīng)用它了。
下面介紹一個例子,用一個PHP文件顯示當(dāng)前文件及當(dāng)前服務(wù)器的IP地址。
代碼如下:
復(fù)制代碼 代碼如下:
<?php
echo "當(dāng)前文件為".$_SERVER["PHP_SELF"];
echo "
";
echo "當(dāng)前服務(wù)器的IP地址為:".$_SERVER["SERVER_ADDR"];
?>
通過上述例子,我們發(fā)現(xiàn),預(yù)定義變量也就是超級全局變量在使用時無需定義(你可以通過phpinfo去查詢),且以"$_"開頭,變量名都是大寫字母,用"[ ]"括住相應(yīng)的參數(shù)。
【PHP的變量是什么】相關(guān)文章:
PHP變量介紹02-28
PHP數(shù)據(jù)類型之?dāng)?shù)組變量詳解10-04
php語言是什么05-21
php是什么文件10-09
PHP中超全局變量$GLOBALS和global的區(qū)別09-05
PHP中的trait是什么08-13
php語言的優(yōu)勢是什么09-28
PHP浮點數(shù)是什么06-27
PHP中MySql操作是什么07-24