Fixade ihop en lite snabbt jag med, som jag förstår så ska den "klättra" uppåt en nivå hela tiden när den nått toppen på en understående array.
Mitt sätt kanske inte är det bästa, men fungerar om jag förstått det hela rätt.
Kod:
$aaList = array();
$aaList[0][0] = 88;
$aaList[0][1] = 77;
$aaList[0][2] = 66;
$aaList[1][0] = 99;
$aaList[1][1] = 111;
$aaList[2][0] = 11;
$aaList[2][1] = 10;
$aaList[2][2] = 14;
$aaList[2][3] = 12;
print loop($aaList);
function loop($a, $level = '000')
{
$str = '';
for($i = 0; $i < count($a); $i++)
{
if(@!$a[$i][$level{$i}])
return '';
$str .= $a[$i][$level{$i}]."<br>";
}
$new_low_level = ($level{2} >= (count($a[count($a)-1])-1) ? 0 : $level{2}+1);
$new_med_level = ($level{2} >= (count($a[count($a)-1])-1) ? ($level{1} >= (count($a[count($a)-2])-1) ? '0' : $level{1}+1) : $level{1});
$new_top_level = ($level{2} >= (count($a[count($a)-1])-1) && $level{1} >= (count($a[count($a)-2])-1)) ? $level{0}+1 : $level{0};
$new_level = $new_top_level.$new_med_level.$new_low_level;
$str .= '<br><br>'.loop($a, $new_level);
return $str;
}
edit: Såg nu att jag inte var först, men våra resultat ser lika ut, så det är nog bara att välja