PHP 變量

PHP 變量


PHP 中的變量用一個美圓符號後面跟變量名來表示。變量名是區分大小寫的。php

命令規則以標緻符爲準則。 - 變量以 $ 符號開頭,其後是變量的名稱 - 變量名稱必須以字母或下劃線開頭 - 變量名稱不能以數字開頭 - 變量名稱只能包含字母數字字符和下劃線(A-z、0-9 以及 _) - 變量名稱對大小寫敏感($y 與 $Y 是兩個不一樣的變量)html

變量做用域

  • local(局部)(函數體內)
  • global(全局)(函數體外)
  • static(靜態)(函數體內,重調不清0)

函數以外聲明的變量擁有 Global 做用域,只能在函數之外進行訪問。python

函數內部聲明的變量擁有 LOCAL 做用域,只能在函數內部進行訪問。laravel

<?php $x=5; // 全局做用域 function myTest() { $y=10; // 局部做用域 echo "<p>測試函數內部的變量:</p>"; echo "變量 x 是:$x"; echo "<br>"; echo "變量 y 是:$y"; } myTest(); echo "<p>測試函數以外的變量:</p>"; echo "變量 x 是:$x"; echo "<br>"; echo "變量 y 是:$y"; ?> 

global 關鍵詞用於訪問函數內的全局變量。git

要作到這一點,請在(函數內部)變量前面使用 global 關鍵詞:面試

<?php $x=5; $y=10; function myTest() { global $x,$y; $y=$x+$y; } myTest(); echo $y; // 輸出 15 ?> 

一般,當函數完成/執行後,會刪除全部變量。不過,有時我須要不刪除某個局部變量。實現這一點須要更進一步的工做。redis

要完成這一點,請在您首次聲明變量時使用 static 關鍵詞:docker

預約義變量

  • $GLOBALS — 引用全局做用域中可用的所有變量
  • $_SERVER — 服務器和執行環境信息
  • $_GET — HTTP GET 變量
  • $_POST — HTTP POST 變量
  • $_FILES — HTTP 文件上傳變量
  • $_REQUEST — HTTP Request 變量
  • $_SESSION — Session 變量
  • $_ENV — 環境變量
  • $_COOKIE — HTTP Cookies
  • $php_errormsg — 前一個錯誤信息
  • $HTTP_RAW_POST_DATA — 原生POST數據
  • $http_response_header — HTTP 響應頭
  • $argc — 傳遞給腳本的參數數目
  • $argv — 傳遞給腳本的參數數組

超全局變量

  • $GLOBALS
  • $_SERVER
  • $_GET
  • $_POST
  • $_FILES
  • $_COOKIE
  • $_SESSION
  • $_REQUEST
  • $_ENV

來自 PHP 以外的變量

HTML 表單(GET 和 POST)

可使用$_POST[], $_GET[], $_REQUEST[]對值進行獲取。數據庫

IMAGE SUBMIT 變量名

當提交表單時,能夠用一幅圖像代替標準的提交按鈕,用相似這樣的標記:ubuntu

<input type="image" src="image.gif" name="sub" /> 

當用戶點擊到圖像中的某處時,相應的表單會被傳送到服務器,並加上兩個變量 sub_x 和 sub_y。

它們包含了用戶點擊圖像的座標。有經驗的用戶可能會注意到被瀏覽器發送的實際變量名包含的是一個點而不是下劃線(即 sub.x 和 sub.y), 但 PHP 自動將點轉換成了下劃線。

HTTP Cookies

Cookies 是一種在遠端瀏覽器端存儲數據並能追蹤或識別再次訪問的用戶的機制。

能夠用 setcookie() 函數設定 cookies。

Cookies 是 HTTP 信息頭中的一部分,所以 SetCookie 函數必須在向瀏覽器發送任何輸出以前調用。

對於 header() 函數也有一樣的限制。Cookie 數據會在相應的 cookie 數據數組中可用,例如 $_COOKIE,$HTTP_COOKIE_VARS 和 $_REQUEST。

<?php setcookie("MyCookie[foo]", 'Testing 1', time()+3600); setcookie("MyCookie[bar]", 'Testing 2', time()+3600); ?> 

可變變量

$a = 'hello'; $$a = 'world' // 如下兩種方式結果同樣 echo "$a ${$a}"; echo "$a $hello"; 

常量

常量是一個簡單值的標識符(名字)。如同其名稱所暗示的,在腳本執行期間該值不能改變(除了所謂的魔術常量,它們其實不是常量)。

常量默認爲大小寫敏感。傳統上常量標識符老是大寫的。

<?php // 合法的常量名 define("FOO", "something"); define("FOO2", "something else"); define("FOO_BAR", "something more"); // 非法的常量名 define("2FOO", "something"); // 下面的定義是合法的,但應該避免這樣作:(自定義常量不要以__開頭) // 也許未來有一天PHP會定義一個__FOO__的魔術常量 // 這樣就會與你的代碼相沖突 define("__FOO__", "something"); ?> 

常量和變量有以下不一樣

  • 常量前面沒有美圓符號($);
  • 常量只能用 define() 函數定義,而不能經過賦值語句;
  • 常量能夠不用理會變量的做用域而在任何地方定義和訪問;
  • 常量一旦定義就不能被從新定義或者取消定義;
  • 常量的值只能是標量。

定義常量

<?php define("CONSTANT", "Hello world."); echo CONSTANT; // outputs "Hello world." echo Constant; // 輸出 "Constant" 併發出一個提示級別錯誤信息 ?> 

定義常量(使用關鍵字 const)

<?php // 如下代碼在 PHP 5.3.0 後能夠正常工做 const CONSTANT = 'Hello World'; echo CONSTANT; ?> 

魔術常量

名稱 說明
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 的名字(PHP 5.4.0 新加)。自 PHP 5.4 起此常量返回 trait 被定義時的名字(區分大小寫)。Trait 名包括其被聲明的做用區域(例如 Foo\Bar)。
METHOD 類的方法名(PHP 5.0.0 新加)。返回該方法被定義時的名字(區分大小寫)。
NAMESPACE 當前命名空間的名稱(區分大小寫)。此常量是在編譯時定義的(PHP 5.3.0 新增)。

php如何聲明定義變量

function myfun($title, $myvar="Moments"){ echo ">>>".$title." "; echo $myvar; echo " "; } $myvar = "Hello World!"; myfun("變量定義", $myvar); 

PHP變量做用域

PHP 有三種不一樣的變量做用域:
local(局部):函數內部聲明的變量擁有 LOCAL 做用域,只能在函數內部進行訪問。
global(全局):函數以外聲明的變量擁有 Global 做用域,只能在函數之外進行訪問。 static(靜態):進行靜態聲明後,函數完成/執行完,不會刪除全部變量。 

global例子

$flag = 100; function myfun(){ global $flag; echo $flag; } myfun(); 

static例子

function myfun(){ static $flag = 0; $flag++; echo $flag; } for($i=0;$i<10;$i++){ myfun(); } #輸出12345678910 

常量定義使用

define("PI", "3.14"); echo PI; echo " "; echo constant("PI"); 

圖片

 

 

 

 

衿華客

php 教程

  1. PHP簡介
  2. PHP安裝
  3. PHP語法
  4. PHP數據類型
  5. PHP變量
  6. PHP運算符
  7. PHP流程控制
  8. PHP函數
  9. PHP類與對象
  10. PHP字符串
  11. PHP正則表達示
  12. PHP文件
  13. PHP圖形圖像
  14. PHPXML
  15. PHP會話緩存
  16. PHP異常處理
  17. PHP數據庫
  18. PHP日期時間戳
  19. PHP代碼風格規範

server 環境

  1. ubuntu入門
  2. docker入門
  3. git入門
  4. iterm入門

frame 框架

  1. laravel入門
  2. dingo入門
  3. JWT入門
  4. Laravel框架關鍵技術解析
  5. laravel則修筆記
  6. rpc入門
  7. rabbitmq入門
  8. opencc多國語言
  9. laravel兄弟連筆記
  10. laravel進階

case 實例

  1. php面試題筆記
  2. python圖標提取
  3. 字幕亂碼問題
  4. 支付寶接口調用
  5. laravel開發筆記

db 數據庫

  1. elasticsearch入門
  2. 數據庫操做
  3. 數據庫設計
  4. redis入門

help

相關文章
相關標籤/搜索