PHP数组分级,百般无奈,救助
Jun 13, 2016 pm 12:57 PM
PHP数组分级,万般无奈,救助
array (
array("level" => '1', "caption" => "一级菜单1"),
array("leve1" => '1', "caption" => "一级菜单2"),
array("leve1" => '2', "caption" => "二级菜单1"),
array("leve1" => '2', "caption" => "二级菜单2"),
array("leve1" => '1', "caption" => "一级菜单3"),
)
其中level = 2为其上方最近leve1 = 1 的子菜单,不排除会有level = 3的子菜单(从属于level = 2)现在想弄成下面的形式,想了好久也没什么好方法,同事建议我用递归,可递归小弟不太懂,PHP初接触,给各位大拿添麻烦了
array (
array("level" => '1', "caption" => "一级菜单1"),
array("leve1" => '1', "caption" => "一级菜单2",
"sub"=>array("leve1" => '2', "caption" => "二级菜单1"),
"sub"=>array("leve1" => '2', "caption" => "二级菜单2")
),
array("leve1" => '1', "caption" => "一级菜单3"),
)
------解决方案--------------------
你连搜索搜不会,怎么查资料做IT啊?
搜“php 无限分类”
http://bbs.csdn.net/topics/360028778
http://bbs.csdn.net/topics/250025103
http://bbs.csdn.net/topics/320022124
……
你的数组里面
level 相当于 pid(把=1改为=0)
caption 拆分为 id 和 name
照着上面抄吧,先完成了,有空自己再理解人家的递归方法
偶忙着做其他事情
------解决方案--------------------
参考下我写的
<br> <br> <br> $arr = array(<br> <br> array('id'=>1,'city_name'=>'中国','rel_id'=>'1','pid'=>0),<br> array('id'=>2,'city_name'=>'广东','rel_id'=>'1-2','pid'=>1),<br> array('id'=>3,'city_name'=>'深圳','rel_id'=>'1-2-3','pid'=>2),<br> array('id'=>4,'city_name'=>'广州','rel_id'=>'1-2-4','pid'=>2)<br> <br> );<br> <br> function find_subclass( $pid ){<br> <br> global $arr;<br> $__arr = array();<br> foreach ( $arr as $k=>$v )<br> {<br> <br> if( $v['pid']==$pid )$__arr[] = $v;<br> <br> }<br> return $__arr;<br> <br> }<br> <br> function tree_subclass($pid=0){<br> <br> $__arr = array();<br> $__arr = find_subclass($pid);<br> if( !empty($__arr) ){<br> <br> foreach ( $__arr as $k=>$v )<br> { <div class="clear"> </div>

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Lösung: Ihre Organisation verlangt von Ihnen, dass Sie Ihre PIN ändern

So passen Sie die Fensterrahmeneinstellungen unter Windows 11 an: Farbe und Größe ändern

Wie ändere ich die Farbe der Titelleiste unter Windows 11?

So aktivieren oder deaktivieren Sie die Vorschau von Miniaturansichten in der Taskleiste unter Windows 11

OOBELANGUAGE-Fehlerprobleme bei der Reparatur von Windows 11/10

Was sind die Unterschiede zwischen Huawei GT3 Pro und GT4?

Anleitung zur Anzeigeskalierung unter Windows 11

10 Möglichkeiten, die Helligkeit unter Windows 11 anzupassen
