PHP提取EXTR_OVERWRITE,它是否仅在碰撞存在时才起作用?
extract(array_map($myclass->trim_value, $_POST), EXTR_OVERWRITE, "var_");
但我注意到,如果我发布$_POST['id']
,我会获得$ id,而不是$ var_id
这是否意味着php会自动发现冲突并仅在该场景中应用规则?我也注意到我的trim_value似乎不起作用......我做错了什么?
答案 0 :(得分:2)
是的,它会自动检测是否发生碰撞,您也可以在手册中阅读:http://php.net/manual/en/function.extract.php
从那里引用:
<强> EXTR_OVERWRITE:强> 如果发生碰撞,请覆盖现有变量。
如果您想要所有变量,请使用:
extract($_POST, EXTR_PREFIX_ALL, "var_");