Maison  >  Article  >  développement back-end  >  Comment implémenter la classification Infinis en PHP ?

Comment implémenter la classification Infinis en PHP ?

韦小宝
韦小宝original
2017-11-15 16:30:241490parcourir

Chaque catégorie infinie doit enregistrer son identifiant parent. Lorsqu'il s'agit d'une catégorie de niveau supérieur, l'identifiant parent est 0. De cette façon, quelle que soit la catégorie dont il s'agit, elle peut être vérifiée en couche. par couche via l'identifiant parent. Indiquez tous ses parents afin que vous puissiez savoir clairement à quelle catégorie il appartient et la profondeur de la hiérarchie. La Catégorie Infinie est très couramment utilisée dans le développement réel. est également souvent utilisé dans les entretiens. Demandé

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);//打印方法结果
La classification infinie ci-dessus utilise un algorithme récursif. L'explication simple de l'algorithme récursif est de s'appeler.

Recommandations associées :

arborescence de catégories illimitée en php [prend en charge le tri par sous-catégories]

Comment parcourir de manière récursive des tableaux multidimensionnels en php

Explication sur la façon d'appeler des fonctions récursives php

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn