首页 > 解决方案 > 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 做点什么。但是有什么捷径可以做到吗?

标签: phparrays

解决方案


使用array_fill_keysarray_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) }

推荐阅读