【问题标题】:How to merge two arrays using PHP如何使用 PHP 合并两个数组
【发布时间】:2017-04-01 22:18:47
【问题描述】:

我真的很困惑合并两个数组,如果这真的被称为合并或递归模式。我以前看过一些例子,但我并不真正明白如何获得我需要的结果。

$arrays = array('A1','A2','A3'); 
$result = array('B1','B2','B3');

我想要 A1 B1、A1 B2、A1 B3 之类的东西。然后是 A2 B1,A2 B2,A2 B3,然后是 A3 B1,A3 B2,A3 B3,但我似乎不太明白应该怎么做。 我在网上找到了这段代码

function get_combinations($arrays) {
    $result = array(array());
    foreach ($arrays as $property => $property_values) {
        $tmp = array();
        foreach ($result as $result_item) {
            foreach ($property_values as $property_key => $property_value) {
                $tmp[] = $result_item + array($property_key => $property_value);
            }
        }
        $result = $tmp;
    }
    return $result;
}

我尝试更改其中的一些值,但它对我不起作用,因为我不知道如何在示例中制作这样的东西。如果某处有重复,请原谅我,我只是不知道如何使它工作。任何帮助将不胜感激。

答案: 好的,谢谢大家,我真的能够让它工作。由于我的帐户存在一些限制,我无法以正常方式回答。感谢 chris85 的榜样。它工作得很好。我能够将这些值存储到一个数组中。这是我的代码:

$arrays = array('A1','A2','A3'); 
$result = array('B1','B2','B3');
$myarray = array();

    foreach($arrays as $value) {
    foreach($result as $value2){
    $myarray[] = $value . $value2;
         }
    }
        print_r ($myarray);

【问题讨论】:

  • 你想像这样输出字符串吗?像这样“A1,B1,B2,B3,A2,B1,B2 B3,A3,B1,B2,B3”
  • 对不起,我弄错了。很抱歉。我想要这样的输出 A1 B1、A1 B2、A1 B3。然后是 A2 B1,A2 B2,A2 B3,然后是 A3 B1,A3 B2,A3 B3

标签: php arrays merge


【解决方案1】:
<?php

$array1 = array('A1','A2','A3'); 
$array2 = array('B1','B2','B3');
foreach($array1 as $val1) {
    foreach($array2 as $val2)echo $val1.$val2. " "; 
    echo "\n";
}

Output:

A1B1 A1B2 A1B3 
A2B1 A2B2 A2B3 
A3B1 A3B2 A3B3 

【讨论】:

    【解决方案2】:

    您的目的不适合一维数组。您必须使用对或二维数组作为结果。您想要的操作实际上是笛卡尔积。

    $arrays = array('A1','A2','A3'); 
    $result = array('B1','B2','B3');
    $i=0;
    foreach($arrays as $value1)
      foreach($result as $value2)
        {
        $final[$i][1]=$value1;
        $final[$i][2]=$value2;
        $i++;
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-10-02
      • 2019-06-13
      • 2012-08-06
      • 1970-01-01
      • 1970-01-01
      • 2017-04-10
      • 2019-02-22
      • 2015-01-26
      相关资源
      最近更新 更多