首頁 > 後端開發 > php教程 > php實現的無限分類(遞歸版本)的例子

php實現的無限分類(遞歸版本)的例子

WBOY
發布: 2016-07-25 09:04:49
原創
933 人瀏覽過
  1. 陣列

  2. (
  3. [0] => 陣列
  4. (
  5. [id] => 1
  6. [name] => dev
  7. [parentid] => 0
  8. [childs] => 陣列
  9. (
  10. [0] => 陣列
  11. (
  12. [id] => 2
  13. [name] => php
  14. [parentid] => 1
  15. [childs] => 陣列
  16. (
  17. [0] = > 陣列
  18. (
  19. [id ] => 3
  20. [姓名] => smarty
  21. [parentid] => 2
  22. )
  23. [1] => 陣列
  24. (
  25. [id] =>; 5
  26. [名字] => pdo
  27. [parentid] =>; 2
  28. [孩子] =>; Array
  29. (
  30. [0] => Array
  31. (
  32. [id] => 6
  33. [名稱] => pdo-mysql
  34. [parentid] => 5
  35. )
  36. )

  37. )

  38. )

  39. )

  40. [1] =>陣列

  41. (
  42. [id] => 7
  43. [姓名] => java
  44. [parentid] => 1
  45. )
  46. )
  47. [1] =>陣列

  48. (
  49. [id] => 4
  50. [姓名] => life
  51. [parentid] => 0
  52. )
  53. )
複製程式碼

看有沒有更簡單的實作方法

  1. $rows = array(

  2. array(
  3. 'id' => ; ,
  4. '姓名' => 'dev',
  5. 'parentid' => 0
  6. ),
  7. 陣列(
  8. 'id' => 2,
  9. '名稱' => 'php',
  10. 'parentid' => 1
  11. ),
  12. 陣列(
  13. 'id' => 3,
  14. '姓名' => '聰明',
  15. 'parentid ' => 2
  16. ),
  17. array(
  18. 'id' => 4,
  19. 'name' => 'life',
  20. 'parentid' => 0
  21. ),
  22. array(
  23. 'id' => 5,
  24. 'name' => 'pdo',
  25. 'parentid' => ; 2
  26. ),
  27. 陣列(
  28. 'id' => 6,
  29. '姓名' => 'pdo-mysql',
  30. 'parentid' => 5
  31. ),
  32. array(
  33. 'id' => 7,
  34. 'name' => 'java',
  35. 'parentid' => 1
  36. )
  37. ) ;
  38. // 72648

  39. // 84072
  40. function findChild(&$arr,$id){
  41. $childs=array();
  42. foreach ($arr as $k => $v){
  43. if($v[ 'parentid']== $id){
  44. $childs[]=$v;
  45. }
  46. }
  47. 回傳$childs;
  48. }
  49. function build_tree($root_id){

  50. 全域$rows;
  51. $childs=findChild($rows,$root_id);
  52. if(空($childs)){
  53. return null;
  54. if($childs)){
  55. return null;
  56. }
  57. foreach ($childs as $k => $v){
  58. $rescurTree=build_tree($v[id]);
  59. if( null != $rescurTree){
  60. $childs[ $k]['childs']=$rescurTree;
  61. }
  62. }
  63. return $childs;
  64. }
  65. $tree=build_tree(0);

  66. echo memory_get_usage();
print_r($tree);
?>
複製程式碼複製程式碼您可能感興趣的文章: php無限分類的例子(仿淘寶商品分類) php實現的無限分類(遞歸版本)的例子 使用php數組實現的無限分類(不使用資料庫與用遞歸) php寫的一個遞歸實現無限分類產生下拉列表的函數


來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板