extract
( PHP 4中, PHP 5中)
extract-匯入到當前變數符號表從一個數組
描述
國際extract物(數組$ var_array [摘要$ extract_type = EXTR_OVERWRITE [ ,字串$首碼] ] )
進口變數數組到當前符號表。
檢查每一個關鍵看它是否有一個合法的變數名。它還檢查碰撞與現有的變數符號表。
參數
var_array
關聯陣列。此功能把鑰匙作為變數名和值作為變數的值。對於每一個鍵/值對,將建立一個變數在當前的符號表,但須extract_type和首碼參數。
您必須使用關聯陣列,一個數值索引數組將不會產生結果,除非您使用EXTR_PREFIX_ALL或EXTR_PREFIX_INVALID 。
extract_type
方式無效/數字鍵和碰撞的待遇是由extract_type 。它可以為下列值之一:
EXTR_OVERWRITE
如果有碰撞,覆蓋現有的變數。
EXTR_SKIP
如果有碰撞,不要覆蓋現有的變數。
EXTR_PREFIX_SAME
如果有碰撞,首碼的變數名稱的首碼。
EXTR_PREFIX_ALL
首碼的所有變數名的首碼。
EXTR_PREFIX_INVALID
只有首碼無效/數位變數名的首碼。
EXTR_IF_EXISTS
只有覆蓋變數,如果它已經存在於當前的符號表,否則,什麼都不做。這是有益的界定名單有效變數,然後extract只有那些變數你定義了$ _REQUEST數組,例如。
EXTR_PREFIX_IF_EXISTS
只有創造首碼變數名,如果非首碼版的相同的變數存在於當前的符號表。
EXTR_REFS
extract變數的參考。這實際上意味著,價值觀的進口仍然參照變數的值, var_array參數。您可以使用此標誌自行或結合任何其他標誌的OR'ing的extract_type 。
如果extract_type沒有指明,這是假定EXTR_OVERWRITE 。
首碼
請注意,只需要首碼如果extract_type是EXTR_PREFIX_SAME , EXTR_PREFIX_ALL , EXTR_PREFIX_INVALID或EXTR_PREFIX_IF_EXISTS 。如果首碼結果是不是有效變數名,這不是匯入到符號表。首碼自動脫離陣列關鍵的一個突出特點。
傳回值
返回一些變數成功地匯入到符號表。
修改
版本說明
4.3.0 EXTR_REFS增加。
4.2.0 EXTR_IF_EXISTS和EXTR_PREFIX_IF_EXISTS增加了。
4.0.5此功能現在返回一些變數extract。 EXTR_PREFIX_INVALID增加。 EXTR_PREFIX_ALL包括數字變數以及。
執行個體
例如# 1extract物( )的例子
一種可能用於extract物( )是要匯入到符號表變數中包含關聯陣列返回wddx_deserialize ( ) 。
<?php
/* Suppose that $var_array is an array returned from
wddx_deserialize */
$size = "large";
$var_array = array("color" => "blue",
"size" => "medium",
"shape" => "sphere");
extract($var_array, EXTR_PREFIX_SAME, "wddx");
echo "$color, $size, $shape, $wddx_sizen";
?>