并排组合/连接数组

时间:2014-11-10 22:11:44

标签: php arrays merge

将两个数组连接成并排的最简单方法是什么?

这是$ Arr1

Array
(
    [0] => Windows
)

这里是$ Arr2

Array
(
    [0] => 5.0
)

我如何将它们组合起来$Arr[0] = "Windows5.0"

array_merge($Arr1, $Arr2)将<{1}}添加为 $Arr2下面的

4 个答案:

答案 0 :(得分:3)

只要每个数组的长度相等且密钥有效,

array_combine就可以为您工作。这将更好地构建您的数据,然后您可以使用foreach循环。

<?php
  $a = array('Windows', 'Mac', 'Linux');
  $b = array('5.0', '6.0', '3.14');
  $c = array_combine($a, $b);

  print_r($c);
?>

以上示例将输出:

Array
(
  [Windows]  => 5.0
  [Mac]    => 6.0
  [Linux] => 3.14
)

因此,如果你需要获取Windows的值,那就是:

<?php
  foreach($c as $key => value) {
    echo $key." ".$value."\n";
 }

&GT;

将显示:

Windows 5.0
Mac 6.0
Linux 3.14

答案 1 :(得分:1)

试试这个

$Arr1 = Array ( "Windows");
$Arr2 = Array ( " 5.0");

$arr = array( $Arr1[0] . $Arr2[0] );
var_dump($arr);

<强>输出

array (size=1)
  0 => string 'Windows 5.0' (length=11)

答案 2 :(得分:1)

对于您的特定示例,在执行array_merge之后,对结果数组进行内爆,这将为您提供所需的输出。

$Arr = [implode(array_merge($Arr1, $Arr2))]; // works for PHP 5.4+
$Arr = array(implode(array_merge($Arr1, $Arr2))) // for older versions

我怀疑你的要求比那要复杂得多。

有关implode的详情,请参阅:http://php.net/manual/en/function.implode.php

如果您想加入多个条目中的值,请尝试使用array_map

$Arr1 = array('windows', 'floor', 'door');
$Arr2 = array('5.0', '6.0', '7.0');
$Arr = array_map(function($a, $b) { return $a . $b; }, $Arr1, $Arr2);

这将输出:

    Array
    (
        [0] => windows5.0
        [1] => floor6.0
        [2] => door7.0
    )

有关array_map的详情,请参阅:http://php.net/manual/en/function.array-map.php

答案 3 :(得分:0)

这样可行 - 在使用多个值时特别有趣:

foreach ($arr1 as $key=>$value)
{
    $arr3[] = $value.$arr2[$key];

}

var_dump($arr3);

<强>输出

array(1) { [0]=> string(10) "Windows5.0" }