多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > php教程 > PHP中變量和變量定義

PHP中變量和變量定義

來源:程序員人生   發布時間:2013-10-15 02:58:59 閱讀次數:3130次

關于php變量 的簡單說明和定義常量define 普通變量 靜態變量 傳地址賦值(簡單引用) PHP 超全局變量$GLOBALS等用法.

變量用于存儲值,比如數字、文本字符串或數組.

一旦設置了某個變量,我們就可以在腳本中重復地使用它.

PHP 中的所有變量都是以 $ 符號開始的.

在 PHP 中設置變量的正確方法是:

$var_name = value;PHP 的入門者往往會忘記在變量的前面的 $ 符號.如果那樣做的話,變量將是無效的.

讓我們試著創建一個存有字符串的變量,和一個存有數值的變量:

實例代碼如下:

  1. <?php 
  2. $txt = "Hello World!"
  3. $number = 16; 
  4. ?> 

實例代碼如下:

  1. <?php  
  2. $foo = 25;  
  3. $bar = &$foo// 合法的賦值  
  4. $bar = &(24 * 7); // 非法; 引用沒有名字的表達式  
  5. function test()  
  6. {  
  7. return 25;  
  8. $bar = &test(); // 非法  
  9. ?> 

預定義變量 

PHP 提供了大量的預定義變量.由于許多變量依賴于運行的服務器的版本和設置,及其它因素,所以并沒有詳細的說明文檔.一些預定義變量在 PHP 以命令行形式運行時并不生效.

變量范圍 

變量的范圍即它定義的上下文范圍(也就是它的生效范圍).大部分的 PHP 變量只有一個單獨的范圍.這個單獨的范圍跨度同樣包含了 include 和 require 引入的文件.

PHP 的全局變量和 C 語言有一點點不同,在 C 語言中,全局變量在函數中自動生效,除非被局部變量覆蓋.而PHP中的局部變量不會被全局變量覆蓋,如果使用會是變量的缺省初始值.這可能引起一些問題,有些人可能不小心就改變了一個全局變量.PHP 中全局變量在函數中使用時必須申明為global.

使用靜態變量 

變量范圍的另一個重要特性是靜態變量(static variable).靜態變量僅在局部函數域中存在,但當程序執行離開此作用域時,其值并不丟失.

注意事項:

變量的命名規則

變量名必須以字母或下劃線 "_" 開頭. 

變量名只能包含字母數字字符以及下劃線. 

變量名不能包含空格.如果變量名由多個單詞組成,那么應該使用下劃線進行分隔(比如 $my_string),或者以大寫字母開頭(比如 $myString).

php變量定義

1.定義常量define("CONSTANT", "Hello world."); 

常量只能包含標量數據(boolean,integer,float 和 string). 

調用常量時,只需要簡單的用名稱取得常量的值,而不能加“$”符號,如:echo CONSTANT; 

注: 常量和(全局)變量在不同的名字空間中.這意味著例如 TRUE 和 $TRUE 是不同的. 

2.普通變量$a = "hello"; 

3.可變變量(使用兩個美元符號($)) 

$$a = "world"; 

兩個變量都被定義了: 

$a 的內容是“hello”并且 $hello 的內容是“world”. 

因此,可以表述為: 

echo "$a ${$a}";或者 echo "$a $hello";它們都會輸出:hello world 

要將可變變量用于數組,必須解決一個模棱兩可的問題.這就是當寫下 $$a[1] 時,解析器需要知道是想要 $a[1] 作為一個變量呢,還是想要 $$a 作為一個變量并取出該變量中索引為 [1] 的值.解決此問題的語法是,對第一種情況用 ${$a[1]},對第二種情況用 ${$a}[1]. 

4.靜態變量 

在函數內部static $a = 0; 

注意:聲明中用表達式的結果對其賦值會導致解析錯誤如static $a =3+3;(error) 

靜態變量僅在局部函數域中存在(函數內部),函數執行完之后,變量值不會丟失,可用于遞歸調用 

5.全局變量 

在函數體內定義的global變量,函數體外可以使用,在函數體外定義的global變量不能在函數體內使用,在全局范圍內訪問變量可以用特殊的 PHP 自定義 $GLOBALS 數組: 

如:$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"]; 

在一個函數域內用 global 語句導入的一個真正的全局變量實際上是建立了一個到全局變量的引用 

global $obj; 

注:對于變量的 static 和 global 定義是以 應用 的方式實現的 

6.給變量賦值:傳地址賦值(簡單引用): 

$bar = &$foo; //加&符號到將要賦值的變量前 

改動新的變量將影響到原始變量,這種賦值操作更加快速 

注意:只有命名變量才可以傳地址賦值 

注意:如果 

$bar = &$a; 

$bar = &$foo; 

改變$bar的值只能改變變量foo的值,而不改變a的值(引用改變了) 

7.PHP 超全局變量$GLOBALS : 包含一個引用指向每個當前腳本的全局范圍內有效的變量.該數組的鍵標為全局變量的 名稱.從 PHP 3 開始存在 $GLOBALS 數組. 

$_SERVER : 變量由 Web 服務器設定或者直接與當前腳本的執行環境相關聯.類似于舊數組 $HTTP_SERVER_VARS 數組(依然有效,但反對使用). 

$_GET : 經由 HTTP GET 方法提交至腳本的變量. 

$_POST : 經由 HTTP POST 方法提交至腳本的變量. 

$_COOKIE : 經由 HTTP Cookies 方法提交至腳本的變量. 

$_FILES : 經由 HTTP POST 文件上傳而提交至腳本的變量. 

文件上傳表單中要有 enctype="multipart/form-data" 

$_ENV : 執行環境提交至腳本的變量. 

$_REQUEST :經由 GET,POST 和 COOKIE 機制提交至腳本的變量,因此該數組并不值得信任.所有包含在該數組中的變量的存在與否以及變量的順序均按照 php.ini 中的 variables_order 配置指示來定義.該數組沒有直接模擬 PHP 4.1.0 的早期版本.參見 import_request_variables(). 

注意: 自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在于 $_REQUEST 中. 

$_SESSION :當前注冊給腳本會話的變量.

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 夜夜未满十八勿进的爽爽影院 | 手机看片国产免费 | 99爱视频99爱在线观看免费 | 国内精品久久国产大陆 | 亚洲视频一区二区在线观看 | 性欧美18一19sex高清 | 武则天a级在线观看 | 中文字幕23页 | 欧美性受xxxx白人性爽 | 欧美另类videos粗暴黑人 | 小说图片亚洲 | 亚洲欧美日韩精品一区 | 久久久中文 | 日韩精品中文字幕一区三区 | 欧美xxxx做受欧美 | 久久久久久久久久久9精品视频 | 一级一级一级毛片免费毛片 | h免费看 | 在线亚洲小视频 | 亚洲精品成人a在线观看 | 日本韩国欧美在线观看 | 免费观看片| 国产精品亚洲综合一区 | 色综合欧美 | 性xxxx欧美高清 | 天天精品 | 性欧美精品 | 亚洲欧美日韩精品中文乱码 | 性国产videofree极品 | 国产精品jizz观看 | 国产美女福利在线 | 精品国产福利在线观看网址2022 | 性欧美激情videos | 久久一品道 | 精品久久看 | 国产精品久久1024 | 日韩视频观看 | 欧美日韩a∨毛片一区 | 久操美女 | 国产女人成人精品视频 | 看欧美毛片一级毛片 |