extract函数行结果

$arr2=array('a'=>'aaaa','b'=>'bbbb','c'=>'cccc','d'=>'dddd','e'=>'eeeee','b'=>'fffff',);
extract($arr2,EXTR_OVERWRITE);
var_dump($arr);
//echo $wx_a,$wx_b,$wx_c,$wx_d;
echo $a,$b,$c,$d;
//array(5) { ["a"]=> string(4) "aaaa" ["b"]=> string(5) "fffff" ["c"]=> string(4) "cccc" ["d"]=> string(4) "dddd" ["e"]=> string(5) "eeeee" } aaaafffffccccdddd
echo "<br>";

$arr3=array('a'=>'aaaa','b'=>'bbbb','c'=>'cccc','d'=>'dddd','e'=>'eeeee',);
$b='fffff';
extract($arr3,EXTR_PREFIX_SAME,'wx');
var_dump($arr);
echo $a,$b,$c,$d,$wx_b;

结果:

总结:

extract — 从数组中将变量导入到当前的符号表

说明

int extract ( array &$array [, int $flags = EXTR_OVERWRITE [, string $prefix = NULL ]] )

当flag为EXTR_OVERWRITE时,后面的覆盖前面 的;

当flag为EXTR_PREFIX_SAME时,自动加前缀wx后,wx_b是覆盖前的$b的值。

原文地址:https://www.cnblogs.com/lxwphp/p/15453662.html