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

php 陣列處理函數extract詳解及實例

墨辰丷
墨辰丷原創
2018-05-30 15:55:161802瀏覽

php extract 函數使用陣列鍵名作為變數名,使用陣列鍵值作為變數值, 本函數可以處理表單提交並插入資料庫。文章向大家講解extract函數的基本使用方法及實例,需要的朋友可以參考下

#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 時需要。如果附加了前綴後的結果不是合法的變數名,則不會匯入符號表。前綴和陣列鍵名之間會自動加上一個底線。

傳回值

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

實例:

<?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/>";
?>

運行結果:

blue, large, sphere, medium

以上就是本文的全部內容,希望對大家的學習有所幫助。


相關推薦:

PHP實作第三方即時取得物流動態

PHP實作多維數組依照某個鍵值排序的方法

PHP基於SMTP協定實作郵件傳送實例的方法

以上是php 陣列處理函數extract詳解及實例的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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