Maison  >  Article  >  développement back-end  >  PHP implémente un arbre de classification infini

PHP implémente un arbre de classification infini

*文
*文original
2017-12-26 11:58:151412parcourir

Comment implémenter un arbre de classification infini en PHP ? Cet article présente principalement comment implémenter simplement des listes d'arbres de classification infinies en PHP et analyse les techniques PHP d'implémentation de listes d'arbres à travers des tableaux avec des exemples. J'espère que cela aide tout le monde.

L'exemple de cet article décrit comment implémenter simplement une liste d'arbres de classification infinie en PHP. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :


$items = array( 
  1 => array('id' => 1, 'pid' => 0, 'name' => '江西省'), 
  2 => array('id' => 2, 'pid' => 0, 'name' => '黑龙江省'),
  3 => array('id' => 3, 'pid' => 1, 'name' => '南昌市'), 
  4 => array('id' => 4, 'pid' => 2, 'name' => '哈尔滨市'),
  5 => array('id' => 5, 'pid' => 2, 'name' => '鸡西市'), 
  6 => array('id' => 6, 'pid' => 4, 'name' => '香坊区'), 
  7 => array('id' => 7, 'pid' => 4, 'name' => '南岗区'), 
  8 => array('id' => 8, 'pid' => 6, 'name' => '和兴路'), 
  9 => array('id' => 9, 'pid' => 7, 'name' => '西大直街'), 
  10 => array('id' => 10, 'pid' => 8, 'name' => '东北林业大学'),
  11 => array('id' => 11, 'pid' => 9, 'name' => '哈尔滨工业大学'),
  12 => array('id' => 12, 'pid' => 8, 'name' => '哈尔滨师范大学'),
  13 => array('id' => 13, 'pid' => 1, 'name' => '赣州市'), 
  14 => array('id' => 14, 'pid' => 13, 'name' => '赣县'), 
  15 => array('id' => 15, 'pid' => 13, 'name' => '于都县'), 
  16 => array('id' => 16, 'pid' => 14, 'name' => '茅店镇'), 
  17 => array('id' => 17, 'pid' => 14, 'name' => '大田乡'), 
  18 => array('id' => 18, 'pid' => 16, 'name' => '义源村'), 
  19 => array('id' => 19, 'pid' => 16, 'name' => '上坝村'), 
  20 => array('id' => 20, 'pid' => 0, 'name' => '广东省'), 
  21 => array('id' => 21, 'pid' => 20, 'name' => '广州市'),
); 
$t = array(); 
foreach ($items as $id => $item) { 
  if ($item['pid']) { 
    $items[$item['pid']][$item['id']] = &$items[$item['id']];
    $t[] = $id; 
  } 
} 
foreach($t as $u) { 
  unset($items[$u]); 
} 
echo "<pre class="brush:php;toolbar:false">"; 
print_r($items);

Recommandations associées :

PHP implémente de manière récursive un arbre hiérarchique affichage des données

php supprime récursivement tous les fichiers d'un répertoire et des sous-répertoires multi-niveaux exemple de code

Code de classe json récursif 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