日期:2014-05-17  浏览次数:20431 次

使用PHP架构嵌套数组,在线等
想架构一个嵌套数组,以输出JSON供前台页面级联菜单使用,但始终无法实现,求教。
大致结构如下:
商品[commod]
  |-饮料类[drink](clsID,clsName)
  |    |-碳酸饮料[sodas](itemID,itemName)
  |    |-果汁饮料[juice](itemID,itemName)
  |
  |-食品类[food](clsID,clsName)
       |-生鲜[fresh](itemID,itemName)
       |-熟食[cooked](itemID,itemName)


原先写了一个,但没有出来效果

<?php
    /**/
    $tmparr[] = array('ClsID'=>'01','ClsName'=>'饮料类');
    array_push($tmparr[0],array('ItemID'=>'0000','ItemName'=>'碳酸饮料','ItemRate'=>'100%'));
    array_push($tmparr[0],array('ItemID'=>'0001','ItemName'=>'果汁饮料','ItemRate'=>'100%'));

    $tmparr[] = array('ClsID'=>'02','ClsName'=>'食品类');
    $tmp[]=array('ItemID'=>'0101','ItemName'=>'生鲜','ItemRate'=>'3%');
    $tmp[]=array('ItemID'=>'0102','ItemName'=>'熟食','ItemRate'=>'3%');
    array_push($tmparr[1],$tmp);
    
    $json_str=json_encode($tmparr);
    //print_r($tmparr);
    echo $json_str;
?>
架构 JSON

------解决方案--------------------
那你直接写上不就得了
    $tmparr['drink'] = array('ClsID'=>'01','ClsName'=>'饮料类');  // [drink] 
    $tmparr['drink']['sodas'] = array('ItemID'=>'0000','ItemName'=>'碳酸饮料','ItemRate'=>'100%');  //[sodas]
    $tmparr['drink']['juice'] = array('ItemID'=>'0001','ItemName'=>'果汁饮料','ItemRate'=>'100%');  //[juice]
  
    $tmparr['food'] = array('ClsID'=>'02','ClsName'=>'食品类');  //[food]
    $tmparr['food']['fresh'] = array('ItemID'=>'0101','ItemName'=>'生鲜','ItemRate'=>'3%');  //[fresh]
    $tmparr['food']['cooked'] = array('ItemID'=>'0102','ItemName'=>'熟食','ItemRate'=>'3%');  //[cooked]