php拼變數
⑴ php全局變數和php預定義變數
僅供參考,更多,可以查看http://www.phpsu.com/
預定義變數
PHP 提供了大量的預定義變數。由於許多變數依賴於運行的伺服器的版本和設置,及其它因素,所以並沒有詳細的說明文檔。一些預定義變數在 PHP 以命令行形式運行時並不生效。有關這些變數的詳細列表,請參閱預定義變數一章。
Warning
PHP 4.2.0 以及後續版本中,PHP 指令 register_globals 的默認值為 off。這是 PHP 的一個主要變化。讓 register_globals 的值為 off 將影響到預定義變數集在全局范圍內的有效性。例如,為了得到 DOCUMENT_ROOT 的值,將必須使用 $_SERVER['DOCUMENT_ROOT'] 代替 $DOCUMENT_ROOT,又如,使用 $_GET['id'] 來代替 $id 從 URL http://www.example.com/test.php?id=3 中獲取 id 值,亦或使用 $_ENV['HOME'] 來代替 $HOME 獲取環境變數 HOME 的值。
更多相關信息,請閱讀 register_globals 的配置項條目,安全一章中的使用 Register Globals,以及 PHP » 4.1.0 和 » 4.2.0 的發行通告。
如果有可用的 PHP 預定義變數那最好用,如超全局變數。
從 PHP 4.1.0 開始,PHP 提供了一套附加的預定數組,這些數組變數包含了來自 web 伺服器(如果可用),運行環境,和用戶輸入的數據。這些數組非常特別,它們在全局范圍內自動生效,例如,在任何范圍內自動生效。因此通常被稱為自動全局變數(autoglobals)或者超全局變數(superglobals)。(PHP 中沒有用戶自定義超全局變數的機制。)超全局變數羅列於下文中;但是為了得到它們的內容和關於 PHP 預定義變數的進一步的討論以及它們的本質,請參閱預定義變數。而且,你也將注意到舊的預定義數組($HTTP_*_VARS)仍舊存在。自 PHP 5.0.0 起,長格式的 PHP 預定義變數可以通過設置 register_long_arrays 來屏蔽。
Note: 可變變數 超級全局變數不能被用作可變變數。
Note: 盡管超全局變數和 HTTP_*_VARS 同時存在。但是他們並不是同一個變數,所以改變一個的值並不會對另一個產生影響。
如果某些 variables_order 中的變數沒有設定,它們的對應的 PHP 預定義數組也是空的。
PHP 超全局變數
$GLOBALS
包含一個引用指向每個當前腳本的全局范圍內有效的變數。該數組的鍵名為全局變數的名稱。從 PHP 3 開始存在 $GLOBALS 數組。
$_SERVER
變數由 web 伺服器設定或者直接與當前腳本的執行環境相關聯。類似於舊數組 $HTTP_SERVER_VARS 數組(依然有效,但反對使用)。
$_GET
經由 URL 請求提交至腳本的變數。類似於舊數組 $HTTP_GET_VARS 數組(依然有效,但反對使用)。
$_POST
經由 HTTP POST 方法提交至腳本的變數。類似於舊數組 $HTTP_POST_VARS 數組(依然有效,但反對使用)。
$_COOKIE
經由 HTTP Cookies 方法提交至腳本的變數。類似於舊數組 $HTTP_COOKIE_VARS 數組(依然有效,但反對使用)。
$_FILES
經由 HTTP POST 文件上傳而提交至腳本的變數。類似於舊數組 $HTTP_POST_FILES 數組(依然有效,但反對使用)。詳細信息請參閱 POST 方法上傳。
$_ENV
執行環境提交至腳本的變數。類似於舊數組 $HTTP_ENV_VARS 數組(依然有效,但反對使用)。
$_REQUEST
經由 GET,POST 和 COOKIE 機制提交至腳本的變數,因此該數組並不值得信任。所有包含在該數組中的變數的存在與否以及變數的順序均按照 php.ini 中的 variables_order 配置指示來定義。此數組在 PHP 4.1.0 之前沒有直接對應的版本。參見 import_request_variables()。
Caution
自 PHP 4.3.0 起,$_FILES 中的文件信息不再存在於 $_REQUEST 中。
Note: 當運行於命令行模式時,此數組將不會包含 argv 和 argc 條目;它們已經存在於數組 $_SERVER 中。
$_SESSION
當前注冊給腳本會話的變數。類似於舊數組 $HTTP_SESSION_VARS 數組(依然有效,但反對使用)。
⑵ php sql語句與變數到底怎麼拼接
要考慮到字元串本身是要用引號括住的,所以要這樣:
$sql = "insert into users (slug,email,`password`,nickname) values ('".$slug."','".$email."','".$password."','".$nickname."')";
或者
$sql = "insert into users (slug,email,`password`,nickname) values ('$slug','$email','$password','$nickname')";
⑶ php全局變數問題
PHP 變數作用域
$count=0時,它是局部變數。作用域是當前函數一次調用。
但global $count;時,則其變為全局變數。因為test函數調用自身,所以$count是從第一次被調用開始一直都是全局變數。每次調用都保持著賦值以後的值。
當把global拿掉,他就111了。 因為沒有global,每次被調用都是一個新的$count。
如果全局變數$count一直保持著賦值以後的值,那為什麼最後一行代碼echo $count輸出的是0,而不是9?參考文獻(http://hounwang.com/lesson.html)
當然這個程序段執行時候test函數執行幾次,就對count加幾次,而當count不小於10開始,count--執行,並執行10次。最後他才變0;
⑷ PHP的變數是什麼
PHP中的每個變數都有一個針對它的作用域,它是指可以在其中訪問變數(從而訪問它的值)的一個領域。對於初學者來說,變數的作用域是它們所駐留的頁面。我們為大家收集整理了關於PHP的變數,以方便大家參考。
變數是程序中或以變化的量,用於存儲數字、字元串或函數的結果。
一旦設置了某個變數,我們就可以在腳本中重復地使用它。
PHP 中的所有變數都是以 $ 符號開始的。
在 PHP 中設置變數的正確方法是:
$var_name = value;
PHP 的入門者往往會忘記在變數的前面的 $ 符號。如果那樣做的話,變數將是無效的。
下面我們創建一個存有字元串的變數,和一個存有數值的變數:
$txt = "Hello World!";
$number = 16;
?>
PHP 是一門鬆散類型的'語言(Loosely Typed Language)
在 PHP 中,不需要在使用變數之前先聲明該變數。
在上面的例子中,您看到了,不必向 PHP 聲明該變數的數據類型。
根據變數被設置的方式,PHP 會自動地把變數轉換為正確的數據類型。
在強類型的編程語言中,您必須在使用前聲明變數的類型和名稱。
在PHP中,變數會在使用時被自動聲明。
變數的命名規則
變數名必須以字母或下劃線 "_" 開頭。
變數名只能包含字母數字字元以及下劃線。
變數名不能包含空格。
如果變數名由多個單片語成,那麼應該使用下劃線進行分隔(比如 $my_string),或者以大寫字母開頭(比如 $myString)。
⑸ PHP將不定數量的變數拼接在一起
不要用每一個變數都儲存一個字元串, 用數組儲存,
如 var arr = array();
arr[] = 'ingyanansha' ;
arr[] = 'ttlegame/y' ;
最後在將數組循環賦給一個變數
⑹ php初學者,sql語句與變數拼接是怎麼寫的,
值加引號 insert into users(name,password) values('$a','$b')
⑺ php域操作符後面怎麼拼接變數
給你個示例
<?php
$str1='第一個變數';
$str2='第二個變數';
$str3=$str1.$str2;//拼接兩個變數
$str4='這里後面拼接變數3'.$str3;
?>