-3
我有一個這樣的數組;標準數組到樹型數組
但我想通過使用這樣的電平鍵設置陣列;
,我用這個代碼,但我知道這不是一個妥善的解決辦法,所以你怎麼能幫助我嗎?
$array = array(0=>array('tag'=>'one','level'=>1),1=>array('tag'=>'two','level'=>2),2=>array('tag'=>'three','level'=>3));
foreach($array as $v){
$level = $v['level'];
if($level > 0){
$count[1] = count($tree);
if($level === 1){
$tree[$count[1]]['tag'] = $v['tag'];
}
if($level > 1){
$count[2] = (isset($tree[$count[1]-1]['array']))?count($tree[$count[1]-1]['array']):0;
if($level == 2){
$tree[$count[1]-1]['array'][$count[2]]['tag'] = $v['tag'];
}
if($level > 2){
$count[3] = (isset($tree[$count[1]-1]['array'][$count[2]-1]['array']))?count($tree[$count[1]-1]['array'][$count[2]-1]['array']):0;
if($level == 3){
$tree[$count[1]-1]['array'][$count[2]-1]['array'][$count[3]]['tag'] = $v['tag'];
}
if($level > 3){
$count[4] = (isset($tree[$count[1]-1]['array'][$count[2]-1]['array'][$count[3]-1]['array']))?count($tree[$count[1]-1]['array'][$count[2]-1]['array'][$count[3]-1]['array']):0;
if($level == 4){
$tree[$count[1]-1]['array'][$count[2]-1]['array'][$count[3]-1]['array'][$count[4]]['tag'] = $v['tag'];
}
}
}
}
}
}
似乎按照您希望的方式運行時,https://3v4l.org/cWt9A。 – chris85
是的,它的工作原理,但如果數組有更深層次的代碼將無法正常工作,所以我需要不同類型的解決方案。 –
你應該問,比你的第一個截圖與你剛纔問的問題沒有關係。 – chris85