Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP合并两个数组_Php_Arrays_Merge - Fatal编程技术网

如何使用PHP合并两个数组

如何使用PHP合并两个数组,php,arrays,merge,Php,Arrays,Merge,如果这真的被称为合并或递归模式,我对合并两个数组感到非常困惑。我以前见过一些例子,但我不太明白如何得到我需要的结果 $arrays = array('A1','A2','A3'); $result = array('B1','B2','B3'); 我想得到像A1 B1,A1 B2,A1 B3这样的东西。然后是a2b1,a2b2,a2b3,然后是a3b1,a3b2,a3b3,但我真的不明白这是怎么做到的。 我在网上找到了这个代码 function get_combinations($array

如果这真的被称为合并或递归模式,我对合并两个数组感到非常困惑。我以前见过一些例子,但我不太明白如何得到我需要的结果

$arrays = array('A1','A2','A3'); 
$result = array('B1','B2','B3');
我想得到像A1 B1,A1 B2,A1 B3这样的东西。然后是a2b1,a2b2,a2b3,然后是a3b1,a3b2,a3b3,但我真的不明白这是怎么做到的。 我在网上找到了这个代码

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;
}
我尝试更改其中的一些值,但对我来说不起作用,因为我不知道如何在示例中创建类似的内容。请原谅我,如果有一个重复的地方,我只是不知道如何使它的工作。任何帮助都将不胜感激

回答: 好了,伙计们,多亏了你们,我真的能做到。由于我的帐户有一些限制,我无法以正常的方式回答。感谢克里斯85的榜样。它工作得很好。我能够将这些值存储到数组中。这是我的代码:

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

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

$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++;
    }

您希望这样的输出作为字符串吗?像这样“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
$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++;
    }