PHP函數import_request_variables()用法分析,importrequest_PHP教程

來源:互聯網
上載者:User

PHP函數import_request_variables()用法分析,importrequest


本文執行個體分析了PHP函數import_request_variables()用法。分享給大家供大家參考,具體如下:

import_request_variables 函數可以在 register_global = off 時,把 GET/POST/Cookie 變數匯入全域範圍中。

描述

bool import_request_variables ( string types [, string prefix])

將 GET/POST/Cookie 變數匯入到全域範圍中。如果你禁止了 register_globals,但又想用到一些全域變數,那麼此函數就很有用。

你可以使用 types 參數指定需要匯入的變數。可以用字母'G'、'P'和'C'分別表示 GET、POST 和 Cookie。這些字母不區分大小寫,所以你可以使用'g'、'p'和'c'的任何組合。POST 包含了通過 POST 方法上傳的檔案資訊。注意這些字母的順序,當使用“gp”時,POST 變數將使用相同的名字覆蓋 GET 變數。任何 GPC 以外的字母都將被忽略。

prefix 參數作為變數名的首碼,置於所有被匯入到全域範圍的變數之前。所以如果你有個名為“userid”的 GET 變數,同時提供了“pref_”作為首碼,那麼你將獲得一個名為 $pref_userid 的全域變數。

如果你對匯入其它全域變數(例如 SERVER 變數)感興趣,請考慮使用 extract()。

注: 雖然 prefix 參數是可選的,但如果不指定首碼,或者指定一個Null 字元串作為首碼,你將獲得一個 E_NOTICE 層級的錯誤。使用預設錯誤報表層級是不顯示注意(Notice)層級的錯誤的。

<?php// This will import GET and POST vars// with an "rvar_" prefiximport_request_variables("gp", "rvar_");echo $rvar_foo;?>

使用import_request_variables()函數可以有選擇地註冊全域變數集合。你可以使用該函數匯入 $_GET、$_POST和$_COOKIE的值,還可以為每個匯入的變數添加首碼(prefix)。

參數中types字串中允許為g、p、c字元,或者3個字元間任意的組合。其中,“g”表示GET變數,“p”表示POST變數,“c”表示cookies。注意:3個字元的排列順序是有區別的,當使用“pg”時,POST變數將使用相同的名字覆蓋$_GET變數;反之,當使用“gp”時,$_GET變數數組將優先於$_POST。

使用import_request_variable()函數實現變數匯入的指令碼例子如下:

//匯入POST提交的變數值,首碼為post_import_request_variable("p", "post_");//匯入GET和POST提交的變數值,首碼為gp_,GET優先於POSTimport_request_variable("gp", "gp_");//匯入Cookie和GET的變數值,Cookie變數值優先於GETimport_request_variable("cg", "cg_");

如果我們在import_request_variables()函數中使用了“pg參數”,請看如下指令碼執行個體:

<?phpif(isset($_REQUEST['btn_submit'])){echo "正常取得的表單POST變數值:".$_REQUEST['Username']."
";import_request_variables("pg", "import_");//顯示匯入的變數名稱echo "使用import_request_variables函數匯入的變數值:".$import_Username;}?>

該表單提示使用者輸入一個名字,完成並提交後,指令碼會把提交的名字顯示在瀏覽器上。

注意:prefix首碼參數是必選的,如果未指定首碼,或者指定一個Null 字元串作為變數首碼,PHP會拋出一個E_NOTICE錯誤。

import_request_variables()函數為我們提供一個中間方法,適用於如下幾種情況:

1. 當使用者不能使用超級變數數組時;
2. 在php.ini設定檔的register_globals參數為Off(PHP 5之後的版本預設為Off)時,使用import_request_variables將GET/POST/Cookie這幾個超級變數數組匯入到全域範圍中。
3. 在開發時,只要聲明了引入的變數範圍,就不必寫$_GET或$_REQUEST一堆很長的超級全域數組名稱了。

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP運算與運算子用法總結》、《PHP網路編程技巧總結》、《PHP基本文法入門教程》、《php操作office文檔技巧總結(包括word,excel,access,ppt)》、《php日期與時間用法總結》、《php物件導向程式設計入門教程》、《php字串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》

希望本文所述對大家PHP程式設計有所協助。

您可能感興趣的文章:

  • PHP數組函數array_multisort()用法執行個體分析
  • PHP計算數組中值的和與乘積的方法(array_sum與array_product函數)
  • PHP數學運算函數大匯總(經典值得收藏)
  • 詳解PHP匿名函數與注意事項
  • PHP常見數組函數用法小結
  • PHP匿名函數和use子句用法執行個體
  • 簡單談談PHP中strlen 函數
  • PHP中array_keys和array_unique函數源碼的分析
  • PHP查詢並刪除資料庫多列重複資料的方法(利用數組函數實現)
  • php強大的時間轉換函式strtotime
  • PHP函數逾時處理方法
  • php的閉包(Closure)匿名函數初探

http://www.bkjia.com/PHPjc/1117038.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1117038.htmlTechArticlePHP函數import_request_variables()用法分析,importrequest 本文執行個體分析了PHP函數import_request_variables()用法。分享給大家供大家參考,具體如下: im...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.