假设我们有2个流动阵列
$arr1= array('a' => "XL");
$arr2= array('a' => "XLd",'b'=>"CDW");
我需要将$ arr1分配给$ arr2,并将其他键清空,而内置函数不是foreach。
看起来应该如下:
array(2) { ['a']=> string(2) "XL" ['b']=> string(0) ""}
感谢
答案 0 :(得分:0)
这看起来很有趣:))
<?php
$arr1= array('a' => "XL");
$arr2= array('a' => "XLd",'b'=>"CDW");
array_walk(
$arr2,
function (&$val ,$key) use ($arr1){
if (isset($arr1[$key])) {
$val = $arr1[$key];
} else {
$val = '';
}
}
);
print_r($arr2);
//Array
//(
//[a] => XL
//[b] =>
//)
请在此处查看:https://3v4l.org/B7G5p
答案 1 :(得分:0)
如果我理解你的问题,应该这样做:
$out = array_merge(
$arr2,
array_fill_keys(array_keys($arr2), ''),
$arr1
);
答案 2 :(得分:0)
另一个oneliner解决方案:
$arr2 = array_replace(array_map(function($n){return "";}, $arr2), $arr1);