Maison  >  Article  >  développement back-end  >  Comment obtenir une classification de niveau infinie grâce à la boucle php et à la récursivité

Comment obtenir une classification de niveau infinie grâce à la boucle php et à la récursivité

jacklove
jackloveoriginal
2018-06-08 13:57:512056parcourir

Les boucles php et la récursivité pour obtenir une classification infinie jouent un rôle important dans le processus de développement php.

php obtient une classification infinie grâce aux boucles et à la récursion

Premièrement. utiliser des boucles pour obtenir un affichage de niveau simple

//Utiliser PDO pour se connecter à la base de données

<!--?php
header("content-type:text/html;charset=utf-8");
$pdo = new PDO("mysql:host=127.0.0.1;dbname=ninthexam","root","root");
$rs = $pdo ---> query("select * from city");
while($row = $rs -> fetch()){
    $data[] = $row;
} 
//循环实现分类
foreach($data as $k=>$v)
{
    if($v[&#39;parint_id&#39;] == 0)
    {
        $tmp[] = $v;
        foreach($data as $key=>$value)
        {
            if($v[&#39;city_id&#39;] == $value[&#39;parint_id&#39;])
            {
                $tmp[] = $value;
            }
        }
    }
}
echo "
"; print_r($tmp);

//Utiliser la récursivité pour implémenter l'affichage de la classification Infinitus

// Utiliser la récursivité pour implémenter une classification infinie

    function digui($data,$parint_id = 0 ,$cengji = 0)
       {
           //使用静态定义
           static $tmp = array();
           foreach($data as $k=>$v)
           {
               //判断如果“层级ID==自增ID”
               if($v[&#39;parint_id&#39;] == $parint_id)
               {
                   $v[&#39;cengji&#39;] = $cengji;
                   $tmp[] = $v;
                   digui($data,$v[&#39;city_id&#39;],$cengji+1);
               }
           }
           return $tmp;
       }
print_r(digui($data,$parint_id = 0 ,$cengji = 0));

Ci-dessus sont plusieurs façons d'implémenter une classification infinie simple.

Cet article explique les opérations liées à la boucle et à la récursivité PHP pour obtenir une classification infinie. Pour plus de connaissances connexes, veuillez prêter attention au site Web PHP chinois

Recommandations associées :

Utilisez la méthode magique __CLASS__ en PHP pour obtenir les opérations associées au nom de la classe

Comment obtenir l'openid et les informations de base des utilisateurs de WeChat via PHP

Le code PHP implémente 12306 fonctions restantes de requête de billets et de requête de prix

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