PHP 多个数组的排列组合 php 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 function foo($d) { $r = array_pop($d); while($d) { $t = array(); $s = array_pop($d); if(! is_array($s)) $s = array($s); foreach($s as $x) { foreach($r as $y) $t[] = array_merge(array($x), is_array($y) ? $y : array($y)); } $r = $t; } return $r;}$ar = array( array(1,2,3,4), array('a','b','c'),);print_r(foo($ar));Array( [0] => Array ( [0] => 1 [1] => a ) [1] => Array ( [0] => 1 [1] => b ) [2] => Array ( [0] => 1 [1] => c ) [3] => Array ( [0] => 2 [1] => a ) [4] => Array ( [0] => 2 [1] => b ) [5] => Array ( [0] => 2 [1] => c ) [6] => Array ( [0] => 3 [1] => a ) [7] => Array ( [0] => 3 [1] => b ) [8] => Array ( [0] => 3 [1] => c ) [9] => Array ( [0] => 4 [1] => a ) [10] => Array ( [0] => 4 [1] => b ) [11] => Array ( [0] => 4 [1] => c )) //统计组合function zuhe($arr){ if(count($arr) >= 2){ $tmparr = array(); $arr1 = array_shift($arr); $arr2 = array_shift($arr); foreach($arr1 as $k1 => $v1){ foreach($arr2 as $k2 => $v2){ $tmparr[] = $v1.$v2; } } array_unshift($arr, $tmparr); $arr = zuhe($arr); }else{ $arr = array_shift($arr); } return $arr;}$arr = array( array(1,2,3,4), array('a','b','c')/*, array(8,9,0), array('x','y','z')*/);print_r(zuhe($arr));/*Array( [0] => 1a [1] => 1b [2] => 1c [3] => 2a [4] => 2b [5] => 2c [6] => 3a [7] => 3b [8] => 3c [9] => 4a [10] => 4b [11] => 4c)*/ 寻求不错的在线考试系统,特定的 求助dedecms上传问题 apache php 的奇怪问题!!! 在本地用phpmailer发送邮件成功为什么收不到 怎么让外网访问局域网中的一台机器 PHP bluePage类分页的问题 swfupload如何实现添加文件和上传文件两个事件分离. 优化TCPDF类生成PDF thinkphp 视频上传 网络错误413 php调用java 翻书的json格式 PHP+IIS+OpenOffice转换出错问题
$r = array_pop($d);
while($d) {
$t = array();
$s = array_pop($d);
if(! is_array($s)) $s = array($s);
foreach($s as $x) {
foreach($r as $y) $t[] = array_merge(array($x), is_array($y) ? $y : array($y));
}
$r = $t;
}
return $r;
}
$ar = array(
array(1,2,3,4),
array('a','b','c'),
);
print_r(foo($ar));
Array
(
[0] => Array
(
[0] => 1
[1] => a
) [1] => Array
(
[0] => 1
[1] => b
) [2] => Array
(
[0] => 1
[1] => c
) [3] => Array
(
[0] => 2
[1] => a
) [4] => Array
(
[0] => 2
[1] => b
) [5] => Array
(
[0] => 2
[1] => c
) [6] => Array
(
[0] => 3
[1] => a
) [7] => Array
(
[0] => 3
[1] => b
) [8] => Array
(
[0] => 3
[1] => c
) [9] => Array
(
[0] => 4
[1] => a
) [10] => Array
(
[0] => 4
[1] => b
) [11] => Array
(
[0] => 4
[1] => c
))
//统计组合
function zuhe($arr){
if(count($arr) >= 2){
$tmparr = array();
$arr1 = array_shift($arr);
$arr2 = array_shift($arr);
foreach($arr1 as $k1 => $v1){
foreach($arr2 as $k2 => $v2){
$tmparr[] = $v1.$v2;
}
}
array_unshift($arr, $tmparr);
$arr = zuhe($arr);
}else{
$arr = array_shift($arr);
}
return $arr;
}$arr = array(
array(1,2,3,4),
array('a','b','c')/*,
array(8,9,0),
array('x','y','z')*/
);print_r(zuhe($arr));
/*
Array
(
[0] => 1a
[1] => 1b
[2] => 1c
[3] => 2a
[4] => 2b
[5] => 2c
[6] => 3a
[7] => 3b
[8] => 3c
[9] => 4a
[10] => 4b
[11] => 4c
)*/