【发布时间】:2014-03-09 01:38:09
【问题描述】:
我非常需要这个,我在想必须有一种方法可以避免循环数组来完成这项任务。
示例数组
$array1 = ['user_id'=>'1','password'=>'PASS','name'=>'joe','age'=>'12'];
$array2 = ['user_id'=>'0','password'=>'default','age'=>'21'];
$filter = ['user_id','password'];
问题是我该怎么做
合并 array1 和 array2,用 array1 的值覆盖 array2,并添加缺失的键。
将
$array1与$array2合并,用来自$array1的值覆盖$array2,但忽略array1 中的额外数据(以上示例应忽略名称)如何从
$array1中取消设置所有array_keys,它位于$filter中如何只从
$array1返回数组的一部分,其中键存在于$filter中
不使用循环?
对不起,如果我要求很多,但这是为了收集 array_intersect 、 array_merge 和 array_diff 的大多数用法以及如何正确使用它们。
编辑:
预期输出
for 1.
['user_id'=>'1','password'=>'PASS','name'=>'joe','age'=>'12']; //since all array2 was overwritten and extra keys was added
2.
['user_id'=>'1','password'=>'PASS','age'=>'12'];
3.
['age'=>'21']; //removed user_id,password from array1 since they exist in $filter
4.
['user_id'=>'1','password'=>'PASS','age'=>'12'];//return only values of keys that exist in $filter
谢谢
【问题讨论】:
-
我很不清楚其中一些操作应该完成什么。请给出每个问题的预期结果。
标签: php arrays multidimensional-array array-merge