Jede unendliche Kategorie muss ihre übergeordnete ID aufzeichnen. Wenn es sich um eine Kategorie der obersten Ebene handelt, ist die übergeordnete ID 0. Auf diese Weise kann sie unabhängig von der Kategorie überprüft werden Geben Sie alle übergeordneten Ebenen an, damit Sie klar erkennen können, zu welcher Kategorie sie gehört und wie tief die Hierarchie ist. Unendliche Kategorie wird auch häufig in Interviews verwendet
Die obige unendliche Klassifizierung verwendet einen rekursiven Algorithmus. Die einfache Erklärung des rekursiven Algorithmus besteht darin, sich selbst aufzurufen.include PHP /* 使用的是三种递归中的一种 & /* include('Catecontroller.php');//引入连接数据库文件 function getList($pid = 0, &$result = array(), $spac = 0) { $spac = $spac + 2;//标题前空格重复的次数 $sql = "SELECT * FROM cate WHERE pid= $pid";//根据父id查找数据 $res = mysql_query($sql);//发送sql语句 while ($row = mysql_fetch_assoc($res)) {//判断$row里的值是否为空然后再循环 $row['cate_name'] = str_repeat(' ',$spac).'|--'.$row['cate_name']; //str_repeat 重复括号里的字符串,后面跟的是次数 $result[] = $row;//把数组赋给 $result getList($row['id'],$result,$spac);//递归调用,自己调用自己 这个括号里的参数和上面getList($pid=0...)是一样的$row['id']==$pid=0; } return $result;//把结果返回出去 } $rs = getList();//使用方法 var_dump($rs);//打印方法结果
Verwandte Empfehlungen:
PHP unbegrenzter Kategoriebaum [unterstützt die Sortierung von Unterkategorien]
Wie man mehrdimensionale Arrays in PHP rekursiv durchläuftErklärung, wie man rekursive PHP-Funktionen aufruftDas obige ist der detaillierte Inhalt vonWie implementiert man die Infinitus-Klassifizierung in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!