如何将[1,2] [3,4] [5,6]这三个数组组合成135,136,145,146,235,236,245,246这几种情况
思路如下:
我们先将第一个和第二个数组组合,将结果保存下来,然后再把保存的结果和第三个数组继续组合,就可以得到我们想要的结果
代码如下:
public function test(){
$arr = [
[1,2],
[3,4],
[5,6]
];
dump($this->forDatas($arr))
}
//多数组循环组合
public function forDatas($arr){
$rs = [];
for($i=0;$i<count($arr)-1;$i++){
if($i==0){
$rs = $arr[$i];
}
$rs = $this->forData($rs,$arr[$i+1]);
}
return $rs;
}
//循环组合
public function forData($arr1,$arr2){
$arr3 = [];
for($i=0;$i<count($arr1);$i++){
for($j=0;$j<count($arr2);$j++){
$arr3[] = $arr1[$i] . $arr2[$j];
}
}
return $arr3;
}