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函数,以便它可以转换尽可能多的数组