【发布时间】:2009-11-23 20:05:47
【问题描述】:
这是一个 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";}}';
$yourarray = unserialize($myarray);
$array_iter = new RecursiveArrayIterator($yourarray); $iter_iter = new RecursiveIteratorIterator($array_iter);
foreach($iter_iter as $iwishitwashomework) { 回声 $iwishitwashhomework; }`
这是打印出来的:
12310111213141516171819202122232425262728293031323334354567893637
【问题讨论】:
-
不,这是一个糟糕的问题,我该怎么做这个快速的问题
-
嘿,你找到答案了吗?寻找相同的:)