English 中文(简体)
在PHP中合并两个数组(键和内容)
原标题:
  • 时间:2009-03-23 11:40:30
  •  标签:

我有一个如下的数组

数组([0] =>“txt1”[1] =>“txt2”[2] =>“txt3”)

I have another array like it but with different content : Array ( [0] => on [2] => on)

目的是获得一个最终数组,其中第二个的键和第一个的内容,就像是将它们合并在一起。

因此最终结果是:数组([0] =>“txt1” [2] =>“txt3”)。将键更改为0-1会更好,但这是个小问题,让我们专注于逐一合并它们。

最佳回答

最简单的方法是使用 array_intersect_key 另请参阅PHP文档)。它获取从第一个传递的数组中对应于所有其他传递的数组中存在的键的值。

所以,你的例子会是这样的:

$a = array(0 => "txt1", 1 => "txt2", 2 => "txt3");
$b = array(0 => 1, 2 => 1);
$c = array_intersect_key($a, $b);
print_r($c);

打印品

Array
(
    [0] => txt1
    [2] => txt3
)
问题回答

array_combine - 通过使用一个数组作为键和另一个数组作为值来创建一个数组

你为什么不使用直截了当的解决方案?

foreach($arr2 as $k=>$v) {
    $a[$k] = $arr1[$k];
}




相关问题
热门标签