php 函数 将数组转换成标量变量:extract()

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

例子

$array4 = array('key1'=>'value1','key2'=>'value2','key3'=>'value3');
extract($array4);
echo "$key1 $key2 $key3";

这段代码内容输出如下

value1 value2 value3

参数:

extract_type
对待非法/数字和冲突的键名的方法将根据 extract_type 参数决定。可以是以下值之一: 

EXTR_OVERWRITE 如果有冲突,覆盖已有的变量。

EXTR_SKIP 如果有冲突,不覆盖已有的变量。

EXTR_PREFIX_SAME 如果有冲突,在变量名前加上前缀 prefix

EXTR_PREFIX_ALL 给所有变量名加上前缀 prefix

EXTR_PREFIX_INVALID 仅在非法/数字的变量名前加上前缀 prefix

EXTR_IF_EXISTS 仅在当前符号表中已有同名变量时,覆盖它们的值。其它的都不处理。 举个例子,以下情况非常有用:定义一些有效变量,然后从 $_REQUEST 中仅导入这些已定义的变量。

EXTR_PREFIX_IF_EXISTS 仅在当前符号表中已有同名变量时,建立附加了前缀的变量名,其它的都不处理。 EXTR_REFS 将变量作为引用提取。这有力地表明了导入的变量仍然引用了 var_array 参数的值。可以单独使用这个标志或者在 extract_type 中用 OR 与其它任何标志结合使用。           

例子2

// EXTR_PREFIX_ALL
$array4 = array('key1'=>'value1','key2'=>'value2','key3'=>'value3'); 
extract($array4,EXTR_PREFIX_ALL,'my_prefix');
echo "$my_prefix_key1 $my_prefix_key2 $my_prefix_key3";

这段代码内容输出如下

value1 value2 value3

原文地址:https://www.cnblogs.com/lemonphp/p/5276209.html