PHP extract() 函數(shù)
定義和用法
PHP extract() 函數(shù)從數(shù)組中把變量導(dǎo)入到當(dāng)前的符號表中。
對于數(shù)組中的每個元素,鍵名用于變量名,鍵值用于變量值。
第二個參數(shù) type 用于指定當(dāng)某個變量已經(jīng)存在,而數(shù)組中又有同名元素時,extract() 函數(shù)如何對待這樣的沖突。
本函數(shù)返回成功設(shè)置的變量數(shù)目。
語法
extract(array,extract_rules,prefix)
參數(shù) | 描述 |
---|---|
array | 必需。規(guī)定要使用的輸入。 |
extract_rules |
可選。extract() 函數(shù)將檢查每個鍵名是否為合法的變量名,同時也檢查和符號表中的變量名是否沖突。 對非法、數(shù)字和沖突的鍵名的處理將根據(jù)此參數(shù)決定?梢允且韵轮抵唬 可能的值:
|
prefix |
可選。請注意 prefix 僅在 extract_type 的值是 EXTR_PREFIX_SAME,EXTR_PREFIX_ALL,EXTR_PREFIX_INVALID 或 EXTR_PREFIX_IF_EXISTS 時需要。如果附加了前綴后的結(jié)果不是合法的變量名,將不會導(dǎo)入到符號表中。 前綴和數(shù)組鍵名之間會自動加上一個下劃線。 |
例子 1
<?php $a = 'Original'; $my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse"); extract($my_array); echo "\$a = $a; \$b = $b; \$c = $c"; ?>
輸出:
$a = Cat; $b = Dog; $c = Horse
例子 2
使用全部參數(shù):
<?php $a = 'Original'; $my_array = array("a" => "Cat","b" => "Dog", "c" => "Horse"); extract($my_array, EXTR_PREFIX_SAME, 'dup'); echo "\$a = $a; \$b = $b; \$c = $c; \$dup_a = $dup_a;"; ?>
輸出:
$a = Original; $b = Dog; $c = Horse; $dup_a = Cat;