Ind*_*ial 3 php arrays merge join
我试图从两个当前数组创建一个新数组.试过array_merge,但它不会给我我想要的东西.$array1是我传递给函数的键列表.$array2保存该函数的结果,但不包含任何不可用的键的结果.所以,我想确保所有请求的密钥都带有'null':ed值,如图所示$result.
它有点像这样:
$array1 = array('item1', 'item2', 'item3', 'item4');
$array2 = array(
'item1' => 'value1',
'item2' => 'value2',
'item3' => 'value3'
);
Run Code Online (Sandbox Code Playgroud)
这是我想要的结果:
$result = array(
'item1' => 'value1',
'item2' => 'value2',
'item3' => 'value3',
'item4' => ''
);
Run Code Online (Sandbox Code Playgroud)
它可以这样做,但我不认为这是一个很好的解决方案 - 我真的不喜欢通过在代码中添加@:s来轻松解决PHP错误.根据示例,此示例显然会抛出错误,因为'item4'它不在$array2.
foreach ($keys as $k => $v){
@$array[$v] = $items[$v];
}
Run Code Online (Sandbox Code Playgroud)
那么,实现相同结果的最快(性能)方法是什么?
array_fill_keys将为您构建一个可用于的最佳数组array_merge:
array_merge(array_fill_keys($array1, ''), $array2);Run Code Online (Sandbox Code Playgroud)
或者,您可以使用+执行联合的op 而不是array_merge :
$array2 + array_fill_keys($array1, '');Run Code Online (Sandbox Code Playgroud)
这个使用数字键或混合数字/字符串:)
| 归档时间: |
|
| 查看次数: |
6444 次 |
| 最近记录: |