【发布时间】:2018-10-29 07:50:57
【问题描述】:
我有两个数组,我想根据键后缀合并为一个。
$keys = array(
'staff_first_name' => NULL,
'staff_last_name' => NULL,
'staff_years' => NULL
);
$submitted_values = array(
'first_name' => 'jon',
'last_name' => 'doe',
'years' => 5
);
我知道我可以使用here 所示的函数并对其进行修改。
但是是否有一个本地 php 函数可以完成此操作。我尝试使用array_merge_recursive,但在查看文档后它不会做我需要的事情。
$wanted_array = array(
'staff_first_name' => 'jon',
'staff_last_name' => 'doe',
'staff_years' => 5
);
【问题讨论】:
-
我认为您不应该在没有指定确切的键关系的情况下盲目地用用户提供的数据替换数组元素。如果这是我的项目,我会同步密钥以进行合并,然后调用 array_replace。
$submitted_values真的是$_GET吗? -
如果是 GET 或 POST,修复关联名称应该很容易。比做编码来匹配它要好得多。
-
@mickmackusa 提交的值是经过清理的 $_POST。 $keys 数组实际上并不保存数据,只是键是我在 $_POST 数组中查找的字段。
-
那么您也在寻找它们吗?这意味着您需要在合并之前将它们从提交的值中过滤掉?
-
@OrlandoP 查看我的更新答案
标签: php arrays merge associative-array