extract

extract -- Importovat proměnné z pole do symbolové tabulky

Popis

int extract ( array var_array [, int extract_type [, string prefix]])

Tato funkce se používá k importu proměnných z pole do aktivní symbolové tabulky . Přijímá pole var_array ; z klíčů vytváří názvy proměnných a z hodnot hodnoty těchto proměnných . Vytváří jednu proměnnou z každého klíč / hodnota páru ( s ohledem na argumenty extract_type a prefix ) .

Poznámka : Od PHP 4.0.5 tato funkce vrací počet extrahovaných proměnných .

extract( ) ověřuje , jestli všechny klíče tvoří platné názvy proměnných , a také jestli nekolidují s proměnnými existujícími v aktivní symbolové tabulce . Způsob , jakým se nakládá s neplatnými / numerickými klíči a kolizemi závisí na extract_type . Ten může mít jednu z následujících hodnot .

EXTR_OVERWRITE

Pokud existuje kolize , přepsat existující proměnnou .

EXTR_SKIP

Pokud existuje kolize , nepřepsat existující proměnnou .

EXTR_PREFIX_SAME

Pokud existuje kolize , předřadit před název nové proměnné prefix .

EXTR_PREFIX_ALL

Opatřit prefixem prefix všechny názvy proměnných . Od PHP 4.0.5 toto zahrnuje i číselné indexy .

EXTR_PREFIX_INVALID

Prefixem prefix Prefixem prefix opatřit pouze neplatné / číselné názvy proměnných . Tento příznak byl přidán v PHP 4.0.5 .



Defaultní extract_type je EXTR_OVERWRITE .

Pozn. : prefix se vyžaduje pouze pokud je extract_type EXTR_PREFIX_SAME , EXTR_PREFIX_ALL nebo EXTR_PREFIX_INVALID . Pokud výsledný název ( . prefixu ) není platný název proměnné , nenaimportuje se do symbolové tabulky .

extract( ) vrací počet proměnných úspěšně naimportovaných do symbolové tabulky .

Možné využití extract( ) je import proměnných do symbolové tabulky z asociativního pole vráceného wddx_deserialize( ) .

Příklad 1 . Ukázka extract( )

 
?php

 
/

 
*

 
Předpokládejme

 
,

 
že

 
$var_array

 
je

 
pole

 
vrácené

 
z

 
wddx_deserialize

 
*

 
/

 
$size

 
=

 
"

 
large"

 
;

 
$var_array

 
=

 
array

 
("color

 
"

 
=

 
"blue"

 
,

 
"size

 
"

 
=

 
"medium"

 
,

 
"shape

 
"

 
=

 
"sphere")

 
;

 
extract

 
($var_array

 
,

 
EXTR_PREFIX_SAME

 
,

 
"wddx")

 
;

 
print

 
"$color

 
,

 
$size

 
,

 
$shape

 
,

 
$wddx_size\n"

 
;

 

?





Výše uvedená ukázka vytiskne :






$size se nepřepsala , protože bylo specifikováno EXTR_PREFIX_SAME , tudíž se vytvořila proměnná $wddx_size . Pokud by bylo zadáno EXTR_SKIP , nevytvořila by se ani $wddx_size . EXTR_OVERWRITE by způsobilo přepsání hodnoty $size na " medium " , a EXTR_PREFIX_ALL by vytvořilo nové proměnné pojmenované $wddx_color , $wddx_size a $wddx_shape .

U PHP verzí nižších než 4.0.5 musíte použít asociativní pole .

Viz také : compact( ) .