首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

怎么把一个多维数组,按指定模式排列

2012-10-19 
怎样把一个多维数组,按指定模式排列[codePHP]Array([0]Array([0]63[cate_id]63[1]34[pid]34[2]

怎样把一个多维数组,按指定模式排列
[code=PHP]Array
(
        [0]   =>   Array
                (
                        [0]   =>   63
                        [cate_id]   =>   63
                        [1]   =>   34
                        [pid]   =>   34
                        [2]   =>   奥迪A6L新型C6原厂资料
                        [cate_name]   =>   奥迪A6L新型C6原厂资料
                        [3]   =>   0
                        [cate_size]   =>   0
                        [4]   =>   0
                        [show_order]   =>   0
                        [5]   =>   0
                        [is_hidden]   =>   0
                )

        [1]   =>   Array
                (
                        [0]   =>   Array
                                (
                                        [0]   =>   64
                                        [cate_id]   =>   64
                                        [1]   =>   63
                                        [pid]   =>   63
                                        [2]   =>   奥迪A6L新型C6原厂资料电路图
                                        [cate_name]   =>   奥迪A6L新型C6原厂资料电路图
                                        [3]   =>   0
                                        [cate_size]   =>   0
                                        [4]   =>   0


                                        [show_order]   =>   0
                                        [5]   =>   0
                                        [is_hidden]   =>   0
                                )

                        [1]   =>   Array
                                (
                                        [0]   =>   Array
                                                (
                                                        [0]   =>   65
                                                        [cate_id]   =>   65
                                                        [1]   =>   64
                                                        [pid]   =>   64
                                                        [2]   =>   奥迪A6L新型C6原厂资料收音机电路图
                                                        [cate_name]   =>   奥迪A6L新型C6原厂资料收音机电路图
                                                        [3]   =>   0
                                                        [cate_size]   =>   0
                                                        [4]   =>   0
                                                        [show_order]   =>   0
                                                        [5]   =>   0


                                                        [is_hidden]   =>   0
                                                )

                                        [1]   =>   Array
                                                (
                                                )

                                )

                )

        [2]   =>   Array
                (
                        [0]   =>   66
                        [cate_id]   =>   66
                        [1]   =>   34
                        [pid]   =>   34
                        [2]   =>   奥迪A7原厂资料
                        [cate_name]   =>   奥迪A7原厂资料
                        [3]   =>   0
                        [cate_size]   =>   0
                        [4]   =>   0
                        [show_order]   =>   0
                        [5]   =>   0
                        [is_hidden]   =>   0
                )

        [3]   =>   Array
                (
                        [0]   =>   Array
                                (
                                        [0]   =>   67
                                        [cate_id]   =>   67
                                        [1]   =>   66


                                        [pid]   =>   66
                                        [2]   =>   奥迪a7a7原厂资料
                                        [cate_name]   =>   奥迪a7a7原厂资料
                                        [3]   =>   0
                                        [cate_size]   =>   0
                                        [4]   =>   0
                                        [show_order]   =>   0
                                        [5]   =>   0
                                        [is_hidden]   =>   0
                                )

                        [1]   =>   Array
                                (
                                        [0]   =>   Array
                                                (
                                                        [0]   =>   68
                                                        [cate_id]   =>   68
                                                        [1]   =>   67
                                                        [pid]   =>   67
                                                        [2]   =>   奥迪a7a7a7a7原厂资料
                                                        [cate_name]   =>   奥迪a7a7a7a7原厂资料


                                                        [3]   =>   0
                                                        [cate_size]   =>   0
                                                        [4]   =>   0
                                                        [show_order]   =>   0
                                                        [5]   =>   0
                                                        [is_hidden]   =>   0
                                                )

                                        [1]   =>   Array
                                                (
                                                        [0]   =>   Array
                                                                (
                                                                        [0]   =>   69
                                                                        [cate_id]   =>   69
                                                                        [1]   =>   68
                                                                        [pid]   =>   68
                                                                        [2]   =>   奥迪a7a7a7a7a7a7a7a7原厂资料


                                                                        [cate_name]   =>   奥迪a7a7a7a7a7a7a7a7原厂资料
                                                                        [3]   =>   0
                                                                        [cate_size]   =>   0
                                                                        [4]   =>   0
                                                                        [show_order]   =>   0
                                                                        [5]   =>   0
                                                                        [is_hidden]   =>   0
                                                                )

                                                        [1]   =>   Array
                                                                (
                                                                )

                                                )

                                )

                )

)[/code]


怎么把这个数组按照这这样的样式式排列?


value为cate_id
[code=HTML] <select>
<option   value= "63 "   > 奥迪A6L新型C6原厂资料 </option>
<option   value= "64 "   > &nbsp;&nbsp;奥迪A6L新型C6原厂资料电路图 </option>


<option   value= "65 "   > &nbsp;&nbsp;&nbsp;&nbsp;奥迪A6L新型C6原厂资料收音机电路图 </option>
<option   value= "66 "   > 奥迪A7原厂资料 </option>
<option   value= "67 "   > &nbsp;&nbsp;奥迪a7a7原厂资料 </option>
<option   value= "68 "   > &nbsp;&nbsp;&nbsp;&nbsp;奥迪a7a7a7a7原厂资料 </option>
<option   value= "69 "   > &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;奥迪a7a7a7a7a7a7a7a7原厂资料 </option>
</select> [/code]


这只是一个例子,这个数组可能是三维,四维的...

[解决办法]

PHP code
function func($ar, $deep=0) {  froeach($ar as $item) {    if(isset($item['cate_id'])) {      echo "<option value='$item[cate_id]'>".str_repeat('&nbsp;', $deep*2)."$item[cate_name]</option>";    else if(is_array($item)) func($item, $deep+1);  } . }echo '<select>';func($ar);echo '</select>'; 

热点排行