阅读量:0
当使用extract函数时,如果存在键名冲突,会发生以下情况:
- 如果存在相同的键名,后面的键值会覆盖前面的键值。
- 如果存在相同的键名,但第三个参数extract_flags中指定了EXTR_SKIP,则会忽略冲突的键。
- 如果存在相同的键名,但第三个参数extract_flags中指定了EXTR_PREFIX_SAME,则会给冲突的键名添加前缀以区分。
例如:
$data = array("name" => "John", "age" => 30); extract(array("name" => "Alice", "gender" => "female"), EXTR_SKIP); print_r($data);
输出结果为:
Array ( [name] => John [age] => 30 )
在这个例子中,由于指定了EXTR_SKIP,冲突的键"gender"被忽略,因此$data数组中仍然保持原来的键值对。