PHP的變數總結 新手推薦

2022-10-06 13:57:20 字數 2223 閱讀 1138

php中不需要顯示宣告變數,變數宣告可以與賦值同時進行。好的程式設計習慣是:所有變數應當在使用前進行宣告,最好帶有注釋。

一、變數的賦值

變數宣告後就可以給其賦值,有兩種方式:值賦值和引用賦值。

1、值賦值

$color = "red" ;

$sum = 12+"15" ; /* $sum = 27 */

2、 若希望兩個變數指向乙個值的同乙個副本,則需要通過引用賦值。

引用賦值

所建立的變數與另乙個變數引用的內容相同,如果多個變數引用了同乙個內容,修改其中任意乙個變數,在其餘的變數上都將有所反映。

例子:

<?php

$value1 = "hello" ;

$value2 = &value1 ; /*$value1 and $value2 both equal "hello" .*/

$value2 = "goodbye" ; /*$value1 and $value2 both equeal "goodbye". */

?zclqum>

二、變數的作用域

php指令碼的任何位置都可以宣告變數,但宣告變數的位置會大大影響訪問變數的範圍。這個可訪問的範圍稱為作用域(scope)。

php變數的4中作用域:

△ 區域性變數

△ 函式引數

△ 全域性變數

△ 靜態變數

1、區域性變數

在函式中宣告的變數認為是區域性變數,只能在函式中引用,退出宣告變數的函式時,該變數及相應的值就會撤銷。消除了導致全域性訪問的變數被有意或無意修改的可能性。

$x = 4 ;

function assignx ( )

assignx ( ) ;

print "\$x outside of function is $x .

" ;

**的執行結果為:

$x inside function is 0 .

$x outside f is 4 .

2、函式引數

php和其他程式語言一樣,任何接受引數的函式都必須在函式首部中宣告這些引數。雖然這些引數接受函式外部的值,但退出函式後就無法再訪問這些引數。(按引用傳遞的引數除外)

例如: zclqum

function x10 ( $value )

函式執行完畢,引數即將撤銷。

3、全域性變數

與區域性變數相反,全域性變數可以在程式的任何位置訪問。當在函式中改變全域性變數時,需要在該函式中將變數顯示地生命為全域性變數,只要在函式中的該變數前加上global即可。

例如:

$somevar = 15 ;

function addit ( )

addit ( ) ;

$somevar 顯示的值應為16 ,但是,若去掉 global $somevar ; 這行,變數$somevar 將被隱含的設定為0,再加1 ,最後顯示的值就是1 。

宣告全域性變數的另一方法是使用php的$global陣列,如下:

$somevar = 15 ;

function addit ( )

addit ( ) ;

print "somevar is ". $globals[ 'somevar' ] ;

返回值如下: somevar is 16 .

4、靜態變數

靜態(s作用域。普通變數的函式引數在函式結束時會撤銷,但靜態變數在函式退出時不會丟失值,並且再次呼叫此函式時還能保留這個值。在汴梁明前加上關鍵字 static 就可以宣告乙個靜態變數。

static $somevar ;

考慮乙個例子:

function keep_track ( )

keep_track ( ) ;

keep_track (zclqum ) ;

keep_track ( ) ;

keep_track ( ) ;

若$count 沒有被指明為靜態(相應的,$count就是乙個區域性變數),輸出將會是

1 1

1 1

因為$count是靜態的,它會在每次執行函式時保留前面的值。輸出如下:

1 2

3 4

靜態作用域對於遞迴函式很有用。遞迴函式(recursive function)是乙個功能強大的程式設計概念,它是乙個可以重複呼叫自身的函式,直到滿足某個條件為止。

5、 php的超級全域性變數

PHP變數使用總結

1.定義常量define constant hello world.常量只能包含標量資料 boolean,integer,float 和 string 呼叫常量時,只需要簡單的用名稱取得常量的值,而不能加 符號,如 echo constant 如果常量名是動態的,也可以用函式constant 來讀取...

PHP變數的變數

什麼叫作變數的變數?根據php手冊,變數的變數是指取得乙個變數的值並把它作為另乙個變數的變數名。這表述顯得相當的直接,容易和那些在乙個句子中使用 變數 這個詞弄混淆。給乙個簡單的例子,你定義乙個變數 x 等於 this 然後定義乙個變數的變數,意味著你把 x 的值作為新變數的名,在這個例子中,這個新...

PHP超級全域性變數總結

php有9個預定義變數陣列,分別總結如下 1 server server超級全域性變數包含由web伺服器建立的資訊,它提供了伺服器和客戶配置及當前請求環境的有關資訊。根據伺服器不同,server中的變數值和變數個數會有差別,不過一般都可以找到cgi1.1規範中定義的變數。其中包括 server ht...