合并php

时间:2017-05-03 09:58:01

标签: php arrays

有人可以很高兴告诉我如何在PHP中使用2个以上的数组进行以下操作:

array 1 (a,b,c,d)
array 2 (1,2,3,4)

我想将两个数组合并在一个具有合并值的唯一数组中:

结果:唯一array (a-1,b-2,c-3,d-4)

有没有这样做的功能?我在论坛上找不到任何东西。

感谢您的所有答案,但我想我的数组更结构化,因为我需要下拉字段的最终结果。 现在我有这两个数组:

$array1[] = array( 'text' => $hospital['value'], 'value' => $hospital['value'] );
$array2[] = array( 'text' => $company['value'], 'value' => $company['value'] );

我希望有一个包含Hospital1 - Company1, Hospital2 - Company2, Hospital3 - Company3,等的最终数组。

由于

3 个答案:

答案 0 :(得分:3)

您可以使用array_map

$result = array_map(function ($item1, $item2) {
    return "$item1-$item2";
}, $array1, $array2);

这是working demo

答案 1 :(得分:0)

您必须手动创建循环才能执行此操作。它可能看起来像下面这样:

$a = array(a,b,c,d);
$b = array(1,2,3,4);
$c = array(); //result set
if(count($a) == count($b)){ // make sure they are the same length
   for($i = 0; $i < count($a); $i++){
      $c[] = $a[$i]."-".$b[$i];
   }
}
print_r($c);

答案 2 :(得分:0)

如果我理解正确,你可以使用array_combine,其中数组1是键,数组2是值。

使用示例:

$a = array(1,2,3,4);
$b = array(a,b,c,d);

$c = array_combine($a, $b);
var_dump($c);