Heim > Backend-Entwicklung > PHP-Tutorial > php递归无限极分门别类

php递归无限极分门别类

WBOY
Freigeben: 2016-06-13 11:56:36
Original
893 Leute haben es durchsucht

php递归无限极分类

递归无限级分类有几种形式,我这里只举例比较常用的三种:

第一种:返回有排序的数组:

<?php $data = array(    1 => array(        'id' => 1,        'pid' => 0,        'user_name' => 'one',    ),    2 => array(        'id' => 2,        'pid' => 1,        'user_name' => 'two',    ),    3 => array(        'id' => 3,        'pid' => 1,        'user_name' => 'two',    ),    4 => array(        'id' => 4,        'pid' => 2,        'user_name' => 'three',    ),    5 => array(        'id' => 5,        'pid' => 2,        'user_name' => 'three',    ),);function genCate( $data, $pid = 0, $level = 0 ) {    $string = str_repeat( "--", $level ) . '|';    static $result = array();    $result = empty( $level ) ? array() : $result;    foreach ( $data as $k => $row ) {        if ( $row['pid'] == $pid ) {            $row['user_name'] = $string . $row['user_name'];            $result[] = $row['user_name'];            genCate( $data, $row['id'], $level + 1 );         }    }    return $result;}echo '<pre class="brush:php;toolbar:false">';$result = genCate( $data );print_r( $result );exit;?>
Nach dem Login kopieren


第二种:返回html字符串形式:


第三种:返回多维数组形式:


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage