国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > PHP > 正文

不用遞歸實(shí)現(xiàn)php樹(shù)程序代碼

2024-05-04 21:58:17
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文章介紹了一段關(guān)于不用遞歸實(shí)現(xiàn)php樹(shù)程序代碼,實(shí)例代碼如下:

  1. /** 
  2.  * 創(chuàng)建父節(jié)點(diǎn)樹(shù)形數(shù)組 
  3.  * 參數(shù) 
  4.  * $ar 數(shù)組,鄰接列表方式組織的數(shù)據(jù) 
  5.  * $id 數(shù)組中作為主鍵的下標(biāo)或關(guān)聯(lián)鍵名 
  6.  * $pid 數(shù)組中作為父鍵的下標(biāo)或關(guān)聯(lián)鍵名 
  7.  * 返回 多維數(shù)組 
  8.  **/ 
  9. function find_parent($ar$id='id'$pid='pid') { 
  10.   foreach($ar as $v$t[$v[$id]] = $v
  11.   foreach ($t as $k => $item){ 
  12.     if$item[$pid] ){ 
  13.       if( ! isset($t[$item[$pid]]['parent'][$item[$pid]]) ) 
  14.          $t[$item[$id]]['parent'][$item[$pid]] =& $t[$item[$pid]]; 
  15.     } 
  16.   } 
  17.   return $t
  18.  
  19.  
  20. /** 
  21.  * 創(chuàng)建子節(jié)點(diǎn)樹(shù)形數(shù)組 
  22.  * 參數(shù) 
  23.  * $ar 數(shù)組,鄰接列表方式組織的數(shù)據(jù) 
  24.  * $id 數(shù)組中作為主鍵的下標(biāo)或關(guān)聯(lián)鍵名 
  25.  * $pid 數(shù)組中作為父鍵的下標(biāo)或關(guān)聯(lián)鍵名 
  26.  * 返回 多維數(shù)組 
  27.  **/ 
  28. function find_child($ar$id='id'$pid='pid') { 
  29.   foreach($ar as $v$t[$v[$id]] = $v
  30.   foreach ($t as $k => $item){ 
  31.     if$item[$pid] ) { 
  32.       $t[$item[$pid]]['child'][$item[$id]] =& $t[$k]; 
  33.     } 
  34.   } 
  35.   return $t
  36.  
  37.     $data = array
  38.       array('ID'=>1, 'PARENT'=>0, 'NAME'=>'祖父'), 
  39.       array('ID'=>2, 'PARENT'=>1, 'NAME'=>'父親'), 
  40.       array('ID'=>3, 'PARENT'=>1, 'NAME'=>'叔伯'), 
  41.       array('ID'=>4, 'PARENT'=>2, 'NAME'=>'自己'), 
  42.       array('ID'=>5, 'PARENT'=>4, 'NAME'=>'兒子'), 
  43.     ); 
  44.  
  45.     $p = find_parent($data'ID''PARENT'); 
  46.     $c = find_child($data'ID''PARENT'); 
  47.     Print_r ($c); 
  48. /*  
  49. 結(jié)果如下: 
  50. Array 
  51. ( 
  52.     [1] => Array 
  53.         ( 
  54.             [ID] => 1 
  55.             [PARENT] => 0 
  56.             [NAME] => 祖父 
  57.             [child] => Array 
  58.                 ( 
  59.                     [2] => Array 
  60.                         ( 
  61.                             [ID] => 2 
  62.                             [PARENT] => 1 
  63.                             [NAME] => 父親 
  64.                             [child] => Array 
  65.                                 ( 
  66.                                     [4] => Array 
  67.                                         ( 
  68.                                             [ID] => 4 
  69.                                             [PARENT] => 2 
  70.                                             [NAME] => 自己 
  71.                                             [child] => Array 
  72.                                                 ( 
  73.                                                     [5] => Array 
  74.                                                         ( 
  75.                                                             [ID] => 5 
  76.                                                             [PARENT] => 4 
  77.                                                             [NAME] => 兒子 
  78.                                                         ) 
  79.  
  80.                                                 ) 
  81.  
  82.                                         ) 
  83.  
  84.                                 ) 
  85.  
  86.                         ) 
  87.  
  88.                     [3] => Array 
  89.                         ( 
  90.                             [ID] => 3 
  91.                             [PARENT] => 1 
  92.                             [NAME] => 叔伯 
  93.                         ) 
  94.  
  95.                 ) 
  96.  
  97.         ) 
  98.  
  99.     [2] => Array 
  100.         ( 
  101.             [ID] => 2 
  102.             [PARENT] => 1 
  103.             [NAME] => 父親 
  104.             [child] => Array 
  105.                 ( 
  106.                     [4] => Array 
  107.                         ( 
  108.                             [ID] => 4 
  109.                             [PARENT] => 2 
  110.                             [NAME] => 自己 
  111.                             [child] => Array 
  112.                                 ( 
  113.                                     [5] => Array 
  114.                                         ( 
  115.                                             [ID] => 5 
  116.                                             [PARENT] => 4 
  117.                                             [NAME] => 兒子 
  118.                                         ) 
  119.  
  120.                                 ) 
  121.  
  122.                         ) 
  123.  
  124.                 ) 
  125.  
  126.         ) 
  127.  
  128.     [3] => Array 
  129.         ( 
  130.             [ID] => 3 
  131.             [PARENT] => 1 
  132.             [NAME] => 叔伯 
  133.         ) 
  134.  
  135.     [4] => Array 
  136.         ( 
  137.             [ID] => 4 
  138.             [PARENT] => 2 
  139.             [NAME] => 自己 
  140.             [child] => Array 
  141.                 ( 
  142.                     [5] => Array 
  143.                         ( 
  144.                             [ID] => 5 
  145.                             [PARENT] => 4 
  146.                             [NAME] => 兒子 
  147.                         ) 
  148.  
  149.                 ) 
  150.  
  151.         ) 
  152.  
  153.     [5] => Array 
  154.         ( 
  155.             [ID] => 5 
  156.             [PARENT] => 4 
  157.             [NAME] => 兒子 
  158.         ) 
  159.  
  160. ) 
  161. */ 

發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 锦州市| 台南县| 阜康市| 富蕴县| 宁河县| 慈溪市| 确山县| 开平市| 阳春市| 鄂尔多斯市| 琼中| 镇平县| 花莲市| 石台县| 瓮安县| 晋城| 宜昌市| 宁津县| 荥经县| 仁布县| 临城县| 交城县| 图片| 桃园县| 正蓝旗| 锦屏县| 麻城市| 格尔木市| 山阳县| 湖南省| 山阳县| 阜阳市| 昭平县| 定边县| 财经| 柏乡县| 梁河县| 山阳县| 铜鼓县| 启东市| 北京市|