Qu'est-ce que la classification ? Tout comme la création d'un nouveau dossier sous Windows, vous pouvez créer un nouveau dossier
sous le nouveau dossier. Cela continuera dans une boucle infinie. Il en va de même pour la classification. La catégorie parent peut être divisée en sous-catégories. et les sous-catégories peuvent être
🎜>
peuvent être divisées en ses sous-catégories. . . . . . Alors, comment PHP implémente-t-il sa classification ? Comment lister ses différentes catégories une à une ? Dans ce chapitre, nous présenterons l'utilisation de la boucle foreach pour implémenter la fonction de classification. Construisez d'abord un tableau de classification :<?php $categories = array( array('id'=>1,'name'=>'电脑','pid'=>0), array('id'=>2,'name'=>'手机','pid'=>0), array('id'=>3,'name'=>'笔记本','pid'=>1), array('id'=>4,'name'=>'台式机','pid'=>1), array('id'=>5,'name'=>'智能机','pid'=>2), array('id'=>6,'name'=>'功能机','pid'=>2), array('id'=>7,'name'=>'超级本','pid'=>3), array('id'=>8,'name'=>'游戏本','pid'=>3), ); ?>Il y a 3 champs ici, l'identifiant de tri, le nom du nom de classification et le pid de classification
Le but est de le convertir en ce qui suit Structure :
<?php array( //1对应$categories中的id ,方便直接读取 1 => array( 'id'=>1, 'name'=>'电脑', 'pid'=>0, 'children' =>array( array( 'id'=>3, 'name'=>'笔记本', 'pid'=>1, 'children'=>array( 'id'=>7, 'name'=> '超极本', 'pid'=>'3' ), array( 'id'=>8, 'name'=> '游戏本', 'pid'=>'3' ) , ), array( 'id'=>4, 'name'=>'台式机', 'pid'=>1, ), ), ), 2 => array( 'id'=>2, 'name'=>'手机', 'pid'=>0, 'children' =>array( array( 'id'=>5, 'name'=>'智能机', 'pid'=>2, ), array( 'id'=>6, 'name'=>'功能机', 'pid'=>2, ), ), ), ); ?>Processus de mise en œuvre : Créer un tableau vide
<?php $tree = array(); ?>
<?php foreach($categories as $category){ $tree[$category['id']] = $category; $tree[$category['id']]['children'] = array(); } ?>
<?php foreach ($tree as $key=>$value) { if ($value['pid'] != 0) { $tree[$value['pid']]['children'][] = $tree[$key]; } } ?>
<?php print_r($tree); ?>