php extract 函数
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";
?>
补充:Php教程,Php函数