1. 程式人生 > >php變數型別和作用域

php變數型別和作用域

一、變數和常量

  • 變數

變數以 $ 符號開始,後面跟著變數的名稱
變數名必須以字母或者下劃線字元開始
變數名只能包含字母數字字元以及下劃線(A-z、0-9 和 _> )
變數名不能包含空格 變數名是區分大小寫的($y 和 $Y 是兩個不同的變數)

  • 常量
    常量在定義後,預設是全域性變數
    設定常量方法1:define ( string $name , mixed $value [, bool $case_insensitive = false ] )
    設定常量方法2:const name = 'value '; -----php5.3.0以後
    兩者區別:const本身就是一個語言結構,而define是一個函式。Const可在類中使用,define不能。Const不能再條件語句中定義常量。const採用普通的常量名稱,define可以採用表示式作為名稱。const只能接受靜態的標量,而define可以採用任何表示式。const定義的常量時大小寫敏感,而define可以通過第三個引數(為true表示大小寫不敏感)來指定大小寫是否敏感

常量前面沒有美元符號($)
常量只能通過define()函式定義,而不能通過賦值語句
常量可以不用理會變數的作用域在任何地方定義和訪問
常量一旦定義就不能重新定義或取消定義
常量的值只能是標量
常量只能包含標量資料(boolean、integer、float和string)

  • 作用域只有三個
    1.全域性:函式之外建立,僅在當前指令碼除函式之外的地方使用 --------------global(全域性)
    2.區域性:函式內部建立,僅能在函式中使用,外部不可訪問 -----------------local(區域性)、parameter(傳遞給函式的區域性變數)
    3.靜態:函式內部建立,僅能在函式內部使用,函式執行完成它的值不丟失 ---------static(函式的區域性變數)

二、超級全域性變數

$GLOBALS   //超級全域性變數組,在一個PHP指令碼的全部作用域中都可以訪問
$_SERVER   //包含了諸如頭資訊(header)、路徑(path)、以及指令碼位置(script locations)等等資訊的陣列
$_REQUEST   // 用於收集HTML表單提交的資料
$_POST            //收集表單資料
$_GET          //收集表單資料    
$_FILES
$_ENV
$_COOKIE
$_SESSION

三、預定義常量和魔術常量

PHP_VERSION:    表示當前php的版本資訊
PHP_OS:         表示當前php執行所在的系統資訊
PHP_INT_MAX:    表示當前版本的php中的最大的整數值
M_PI:           表示圓周率π(一個有10多位小數的數)
__LINE__	     檔案中的當前行號。
__FILE__	     檔案的完整路徑和檔名。如果用在被包含檔案中,則返回被包含的檔名。自 PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑(如果是符號連線,則是解析後的絕對路徑),而在此之前的版本有時會包含一個相對路徑。
__DIR__	     檔案所在的目錄。如果用在被包括檔案中,則返回被包括的檔案所在的目錄。它等價於 dirname(__FILE__)。除非是根目錄,否則目錄中名不包括末尾的斜槓。(PHP 5.3.0中新增) =
__FUNCTION__	 函式名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該函式被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。
__CLASS__	 類的名稱(PHP 4.3.0 新加)。自 PHP 5 起本常量返回該類被定義時的名字(區分大小寫)。在 PHP 4 中該值總是小寫字母的。類名包括其被宣告的作用區域(例如 Foo\Bar)。注意自 PHP 5.4 起 __CLASS__ 對 trait 也起作用。當用在 trait 方法中時,__CLASS__ 是呼叫 trait 方法的類的名字。可以用get_class來代替__CLASS__
__TRAIT__	 Trait 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定義時的名字(區分大小寫)。Trait 名包括其被宣告的作用區域(例如 Foo\Bar)。
__METHOD__	 類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。
__NAMESPACE__ 當前名稱空間的名稱(區分大小寫)。此常量是在編譯時定義的(PHP 5.3.0 新增)。

四、資料

1.資料型別

在PHP中,一共支援八種原始資料型別:它們是4種標量型別,boolean(布林型),integer(整型),float(浮點型)和string(字串型);兩種符合型別,array(陣列)和object(物件);兩種特殊型別,resource(資源)與空值(null)
資料型別

  • string(字串型) //任何文字放在單引號和雙引號
  • integer(整型) //沒有小數點的,不要單引號和雙引號
  • float(浮點型)
  • boolean(布林型)
  • array(陣列)
  • object(物件)
  • resource(資源) //外部資源的一個引用:如開啟檔案、資料庫連線、圖形畫布區域等。
  • 空值(null)

2.資料操作

1.型別定義
型別定義
2.型別判斷
型別判斷
3.字串操作
4. 陣列操作