$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的值。
非学,无以致疑;非问,无以广识