Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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 - Fatal编程技术网

PHP数组的笛卡尔积

PHP数组的笛卡尔积,php,arrays,Php,Arrays,这个标题可能有误导性,但我真的不知道它叫什么。我很抱歉:( 我有一个这样的数组 $start = array( array('waterpark'), array('spain','greece'), array('1','2','3','4'), ); $output = array( array('waterpark', 'spain', '1'), array('waterpark', 'spain', '2'), array('water

这个标题可能有误导性,但我真的不知道它叫什么。我很抱歉:(

我有一个这样的数组

$start = array(
    array('waterpark'),
    array('spain','greece'),
    array('1','2','3','4'),
);
$output = array(
    array('waterpark', 'spain', '1'),
    array('waterpark', 'spain', '2'),
    array('waterpark', 'spain', '3'),
    array('waterpark', 'spain', '4'),
    array('waterpark', 'greece', '1'),
    array('waterpark', 'greece', '2'),
    array('waterpark', 'greece', '3'),
    array('waterpark', 'greece', '4'),
);
如何将该数组转换为如下所示

$start = array(
    array('waterpark'),
    array('spain','greece'),
    array('1','2','3','4'),
);
$output = array(
    array('waterpark', 'spain', '1'),
    array('waterpark', 'spain', '2'),
    array('waterpark', 'spain', '3'),
    array('waterpark', 'spain', '4'),
    array('waterpark', 'greece', '1'),
    array('waterpark', 'greece', '2'),
    array('waterpark', 'greece', '3'),
    array('waterpark', 'greece', '4'),
);
提前感谢

使用现成的

像这样使用它

$output = Cartesian::build($start);

作者:

试试这个,它会帮你的

    foreach ($start[0] as $value1) { 
        foreach ($start[1] as $value2) {
            foreach ($start[2] as $value3) {
                $res[] = array($value1,$value2,$value3);
            }
        }
   }
   var_dump($res);

它被称为笛卡尔积。可能是多谢的副本,但我需要as函数,以便它可以转换尽可能多的数组