您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

一个关于算法的,请大伙帮帮忙

2024/3/28 6:58:25发布15次查看
一个关于算法的,请大家帮帮忙
$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

该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product