我对php还不熟悉,还在学习语言,
假设我有两个数组
,例如
Array
(
[house_id] => 6
[name] => Lake Villa
[floor] => 5
[unit] => 25
)
Array
(
[house_id] => 6
[name] => Lake Villa
[floor] => 5
[unit] => 25
[parking_id] => 9
[resident_count] => 4
)如何将第一个数组的键放到第二个数组上,我的意思是,我只需要第二个数组中的house_id, name, floor, unit并丢弃其余的信息。
但是,它们的键并不相同,而且是动态的,这意味着第一个数组键--无论返回什么--在第二个数组中也存在,但是包含更多的信息。上面的信息只是一个例子,键可能会有所不同,但是第一个数组上的任何键也包含在第二个数组上。
我试过了,但没用:
foreach($arr1 as $k=>$v) {
foreach($arr2 as $j=>$w) {
if(isset($arr2[$k]))
$arr[$k] = $w;
}
}发布于 2012-10-03 07:36:30
您可以使用array_intersect_key合并数组。
$newArray = array_intersect_key($array2, $array1);发布于 2012-10-03 07:38:14
使用键()。
array_intersect_key()返回一个数组,该数组包含array1的所有条目,其中的键存在于所有参数中。
代码
var_dump(array_intersect_key($array1, $array2));发布于 2012-10-03 07:36:48
foreach($arr2 as $key=>$val){
if(!array_key_exists($key,$arr1))
unset($arr2[$key]);
}https://stackoverflow.com/questions/12703862
复制相似问题