【问题标题】:Combine/Concatenate Arrays Side by Side并排组合/连接数组
【发布时间】:2014-11-10 22:11:44
【问题描述】:

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

这里是 $Arr1

Array
(
    [0] => Windows
)

这里是 $Arr2

Array
(
    [0] => 5.0
)

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

array_merge($Arr1, $Arr2)$Arr2 添加到下面 $Arr1 这不是我想要的

【问题讨论】:

  • 你尝试过对array_merge的结果进行内爆吗?

标签: php arrays merge


【解决方案1】:

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";
 }

?>

将显示的内容:

Windows 5.0
Mac 6.0
Linux 3.14

【讨论】:

    【解决方案2】:

    试试这个

    $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)
    

    【讨论】:

      【解决方案3】:

      对于您的特定示例,在您执行 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

      【讨论】:

        【解决方案4】:

        这会起作用——在处理多个值时特别有趣:

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

        输出

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-08-31
          • 2020-01-03
          • 2018-09-13
          • 1970-01-01
          • 1970-01-01
          • 2013-01-06
          相关资源
          最近更新 更多