按呈现的数组的顺序计算数组的可能组合

jps*_*ack 1 php arrays

这是一个php问题.

我有一个数组数组:

数组([1] =>数组([1] => 1 [2] => 2 [3] => 3)[2] =>数组([4] => 4)[3] =>数组([] 7] => 7 [8] => 8 [9] => 9)[4] =>数组([36] => 36))

我需要按顺序制作所有可能的组合,但永远不会出现故障,并且永远不会错过以前的可能......这可能是一个糟糕的解释,但这就是我的意思:

1

1 - 4

1 - 4 - 7

1 - 4 - 8

1 - 4 - 9

1 - 4 - 7 - 36

1 - 4 - 8 - 36

1 - 4 - 9 - 36

我不想得到1 - 9 - 4,因为它必须使用数组作为顺序,我不能跳过任何类似的1 - 9 - 36

任何帮助将非常感谢!

我尝试了下面的解决方案(在更大的更现实的阵列上):

$myarray = 'a:4:{i:1;a:29:{i:1;s:1:"1";i:2;s:1:"2";i:3;s:1:"3";i:10;s:2:"10";i:11;s:2:"11";i:12;s:2:"12";i:13;s:2:"13";i:14;s:2:"14";i:15;s:2:"15";i:16;s:2:"16";i:17;s:2:"17";i:18;s:2:"18";i:19;s:2:"19";i:20;s:2:"20";i:21;s:2:"21";i:22;s:2:"22";i:23;s:2:"23";i:24;s:2:"24";i:25;s:2:"25";i:26;s:2:"26";i:27;s:2:"27";i:28;s:2:"28";i:29;s:2:"29";i:30;s:2:"30";i:31;s:2:"31";i:32;s:2:"32";i:33;s:2:"33";i:34;s:2:"34";i:35;s:2:"35";}i:2;a:3:{i:4;s:1:"4";i:5;s:1:"5";i:6;s:1:"6";}i:3;a:3:{i:7;s:1:"7";i:8;s:1:"8";i:9;s:1:"9";}i:4;a:2:{i:36;s:2:"36";i:37;s:2:"37";}}';
Run Code Online (Sandbox Code Playgroud)

$ yourarray = unserialize($ myarray);

$ array_iter = new RecursiveArrayIterator($ yourarray); $ iter_iter = new RecursiveIteratorIterator($ array_iter);

foreach($ iter_iter as $ iwishitwashomework){echo $ iwishitwashomework; }`

这是它打印的内容:

12310111213141516171819202122232425262728293031323334354567893637

str*_*ade 5

$array_iter   = new RecursiveArrayIterator($yourarray);
$iter_iter    = new RecursiveIteratorIterator($array_iter);

foreach($iter_iter as $myhomework)
{
echo $myhomework;
}
Run Code Online (Sandbox Code Playgroud)

  • 作为$ myhomework ......这是最重要的部分.大声笑!+1 (3认同)