PHP提取EXTR_OVERWRITE,它是否仅在碰撞存在时才起作用?

时间:2015-03-30 17:47:15

标签: php

PHP提取EXTR_OVERWRITE,它是否仅在碰撞存在时才起作用?

extract(array_map($myclass->trim_value, $_POST), EXTR_OVERWRITE, "var_");

但我注意到,如果我发布$_POST['id'],我会获得$ id,而不是$ var_id

这是否意味着php会自动发现冲突并仅在该场景中应用规则?我也注意到我的trim_value似乎不起作用......我做错了什么?

1 个答案:

答案 0 :(得分:2)

是的,它会自动检测是否发生碰撞,您也可以在手册中阅读:http://php.net/manual/en/function.extract.php

从那里引用:

  

<强> EXTR_OVERWRITE:   如果发生碰撞,请覆盖现有变量。

如果您想要所有变量,请使用:

extract($_POST, EXTR_PREFIX_ALL, "var_");