首頁  >  文章  >  後端開發  >  php 陣列處理函數extract詳解及實例程式碼_php實例

php 陣列處理函數extract詳解及實例程式碼_php實例

WBOY
WBOY原創
2016-12-05 13:28:261303瀏覽

php 陣列處理函數extract

extract函數用於從數組中將變數匯入到目前的符號表

基本文法

int extract ( array &$var_array [, int $extract_type = EXTR_OVERWRITE [, string $prefix = NULL ]] )

本函數用來將變數從陣列匯入到目前的符號表中。檢查每個鍵名看是否可以作為一個合法的變數名,同時也檢查和符號表中已有的變數名的衝突。

參數介紹:

參數 描述
var_array 必需。規定要使用的數組。

一個關聯數組。此函數會將鍵名當作變數名,值作為變數的值。 對每個鍵/值對都會在目前的符號表中建立變量,並受到 extract_type 和 prefix 參數的影響。

必須使用關聯數組,數字索引的數組將不會產生結果,除非用了 EXTR_PREFIX_ALL 或 EXTR_PREFIX_INVALID 。

extract_type

可選。 extract() 函數將檢查每個鍵名是否為合法的變數名,同時也檢查和符號表中已存在的變數名稱是否衝突。對不合法和衝突的鍵名的處理將根據此參數決定。

可能的值:

  • EXTR_OVERWRITE - 預設。如果有衝突,則覆蓋已有的變數。
  • EXTR_SKIP - 如果有衝突,不覆寫已有的變數。
  • EXTR_PREFIX_SAME - 若有衝突,在變數名稱前加上前綴 prefix。
  • EXTR_PREFIX_ALL - 為所有變數名稱加上前綴 prefix。
  • EXTR_PREFIX_INVALID - 僅在不合法或數字變數名稱前加上前綴 prefix。
  • EXTR_IF_EXISTS - 僅在目前符號表中已有同名變數時,覆寫它們的值。其它的都不處理。
  • EXTR_PREFIX_IF_EXISTS - 僅在目前符號表中已有同名變數時,建立附加了前綴的變數名,其它的都不處理。
  • EXTR_REFS - 將變數作為引用提取。導入的變數仍然引用了數組參數的值。
prefix

可選。注意 prefix 只在 extract_type 的值是 EXTR_PREFIX_SAME ,EXTR_PREFIX_ALL , EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXIST 時需要。 如果附加了前綴後的結果不是合法的變數名,則不會匯入符號表。前綴和陣列鍵名之間會自動加上一個底線。

回傳值

傳回成功匯入符號表中的變數數目。

實例:

<&#63;php
$size = "large";
$var_array = array(
  "color" => "blue",
  "size" => "medium",
  "shape" => "sphere"
);
extract($var_array, EXTR_PREFIX_SAME, "wddx");
echo " $color , $size , $shape , $wddx_size <br/>";
&#63;>  

運行結果:

blue, large, sphere, medium

感謝閱讀,希望能幫助大家,謝謝大家對本站的支持!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn