求解
回複討論(解決方案)
$a = array(1,2,2,3,1,2,3,1,1);$st = array(1 => 0);$d = 1;foreach($a as $v) { @$st[$v]++; if($v >= $d) { $d = $v; }else{ while($v < $d) { unset($st[$d--]); } } $r[] = join('.', $st);}print_r($r); Array
(
[0] => 1
[1] => 1.1
[2] => 1.2
[3] => 1.2.1
[4] => 2
[5] => 2.1
[6] => 2.1.1
[7] => 3
[8] => 4
)
不好意思,沒看明白是個啥意思。……。。…。…………。……。。…。……。。…。……。……。………
$a = array(1,2,2,3,1,2,3,1,1);$st = array(1 => 0);$d = 1;foreach($a as $v) { @$st[$v]++; if($v >= $d) { $d = $v; }else{ while($v < $d) { unset($st[$d--]); } } $r[] = join('.', $st);}print_r($r); Array
(
[0] => 1
[1] => 1.1
[2] => 1.2
[3] => 1.2.1
[4] => 2
[5] => 2.1
[6] => 2.1.1
[7] => 3
[8] => 4
)
版主,謝謝你的解答 ,如果可以的話,能不能講講你的思路呀,萬分感謝
不好意思,沒看明白是個啥意思。……。。…。…………。……。。…。……。。…。……。……。………
本題其實是一個目錄編排的問題,你可以看到優先順序決定著大小標題的顯示
$a = array(1,2,2,3,1,2,3,1,1); 表示的是節點所在的層次
$st = array(1 => 0); 儲存每層當前的序號
$d 表示當前的層次
嗯嗯 謝謝版主的解釋,我再好好研究研究,先把分送上