合并两个数组php并替换值

时间:2016-10-04 18:08:38

标签: php arrays merge

我有2个阵列如下:

Array 1
(
  [0] => c1
  [1] => c2
  [2] => c3
)

Array 2
(
   [0] => Son
   [1] => Daughter
   [2] => Son
)

需要输出:

Array (
  c1  => Son
  c2  => Daughter
  c3  => Son 
)

有人可以指导生成此输出吗?谢谢。

3 个答案:

答案 0 :(得分:1)

试试这个:

$array_result = array();

foreach($array1 as $key => $val) {
    $array_result[$val]=$array2[$key];
}

所以你正在构建一个新数组(array_result),同时使用array1中的值作为键,将array2中的值作为新数组的值。

正如@ max-p所写的那样,array_combine()与上面的内容完全相同,而且它是一行,所以请继续使用,但希望这个例子可以说明发生了什么。

答案 1 :(得分:1)

http://php.net/manual/en/function.array-combine.php

$a = array('c1', 'c2', 'c3');
$b = array('Son', 'Daughter', 'Son');
$c = array_combine($a, $b);

print_r($c);

答案 2 :(得分:-2)

如果数组元素总是相同的数字,你可以尝试这个foreach函数:

$arr1 = ['c1', 'c2', 'c3'];
$arr2 = ['Son', 'Daughter', 'Son'];
$output = [];

foreach ($arr1 as $key => $element) {
    $output[$element] = $arr2[$key];
}

或者您可以使用PHP定义的函数array_combine()

$output = array_combine($arr1, $arr2);