php - php 数组根据父数组用 '0' 填充一个虚拟值
问题描述
这是我的问题,
我在 php 中有两个数组。一个包含带有键的值,另一个用于键参考。
Array
(
[R8] => 1
[R8-FF] => 3
)
Array
(
[0] => R8
[2] => R8-FF
[3] => R9
[4] => R10
)
我只需要根据两个数组填充另一个数组
输出数组:
Array
(
[R8] => 1
[R8-FF] => 3
[R9] => 0
[R10] => 0
)
我可以用 php foreach 做点什么。但是有什么捷径可以做到吗?
解决方案
使用array_fill_keys和array_merge的简短解决方案。
$a1 = ['R8' => 1, 'R8-FF' => 3];
$a2 = [0 => 'R8', 2 => 'R8-FF', 3 => 'R9', 4 => 'R10'];
$result = array_merge(array_fill_keys($a2,0),$a1);
var_dump($result);
//array(4) { ["R8"]=> int(1) ["R8-FF"]=> int(3) ["R9"]=> int(0) ["R10"]=> int(0) }
推荐阅读
- vim - 退出less后如何清屏,man和vim
- elasticsearch - 在 elasticsearch 中从远程和本地集群重新索引
- arrays - 如何根据 Google 表格中的布尔值将行合并为一列?
- string - 用于查找最长子字符串而不重复字符的代码不起作用
- mysql - 如何为每个唯一 ID 获取具有 MAX(field) 的行的数据
- c - 在其自己的 WindowProc 函数中调整控件大小的正确方法是什么?
- reactjs - React 子组件之间的交互:refs vs callback as props
- nginx - Nginx Ingress、HTTPS 和内部 HTTPs
- angular - Angular8 路由器不适用于某些组件 - 退回到索引
- ios - CircleCI 的 Fastlane 测试飞行