$arr = array(
array( a, b, c),
array(1, 2, 3, 4),
array(x, y, z),
....................................
);
这样的一个数字,如何打印成下面的样子 (数组的大小不定)
a 1 x
a 1 y
a 1 z
a 2 x
a 2 y
a 2 z
a 3 x
a 3 y
a 3 z
a 4 x
a 4 y
a 4 z
b 1 x
b 1 y
b 1 z
b 2 x
b 2 y
b 2 z
b 3 x
b 3 y
b 3 z
b 4 x
b 4 y
b 4 z
c 1 x
c 1 y
c 1 z
c 2 x
c 2 y
c 2 z
c 3 x
c 3 y
c 3 z
c 4 x
c 4 y
c 4 z
------解决方案--------------------
这个符合你的输出要求$arr = array(
array( a, b, c),
array(1, 2, 3, 4),
array(x, y, z),
);
function foo($d) {
$r = array_pop($d);
while($d) {
$t = array();
foreach(array_pop($d) as $k1=>$x) {
foreach($r as $k2=>$y) $t[] = $x $y;
}
$r = $t;
}
return $r;
}
print_r(foo($arr));
array
(
[0] => a 1 x
[1] => a 1 y
[2] => a 1 z
[3] => a 2 x
[4] => a 2 y
[5] => a 2 z
[6] => a 3 x
[7] => a 3 y
[8] => a 3 z
[9] => a 4 x
[10] => a 4 y
[11] => a 4 z
[12] => b 1 x
[13] => b 1 y
[14] => b 1 z
[15] => b 2 x
[16] => b 2 y
[17] => b 2 z
[18] => b 3 x
[19] => b 3 y
[20] => b 3 z
[21] => b 4 x
[22] => b 4 y
[23] => b 4 z
[24] => c 1 x
[25] => c 1 y
[26] => c 1 z
[27] => c 2 x
[28] => c 2 y
[29] => c 2 z
[30] => c 3 x
[31] => c 3 y
[32] => c 3 z
[33] => c 4 x