• Mysql 递归获取多重数组数据


    多重数据 $data ,获取顶级下的所有下级id

    $data 

    array:3 [▼
      0 => array:7 [▼
        "id" => 1
        "created_at" => "2017-08-05 11:30:15"
        "updated_at" => "2017-08-05 11:30:15"
        "parent_id" => 0
        "children" => array:1 [▼
          0 => array:7 [▼
            "id" => 2
            "created_at" => "2017-08-05 11:31:11"
            "updated_at" => "2017-08-18 18:57:11"
            "parent_id" => 1
            "children" => array:1 [▼
              0 => array:7 [▼
                "id" => 3
                "created_at" => "2017-08-05 11:33:34"
                "updated_at" => "2017-08-05 11:33:34"
                "parent_id" => 2
                "children" => []
              ]
            ]
          ]
        ]
      ]
      1 => array:7 [▼
        "id" => 4
        "created_at" => "2017-08-10 15:36:03"
        "updated_at" => "2017-08-10 15:36:03"
        "parent_id" => 0
        "children" => array:1 [▼
          0 => array:7 [▼
            "id" => 5
            "created_at" => "2017-08-10 15:36:31"
            "updated_at" => "2017-08-10 15:42:08"
            "parent_id" => 4
            "children" => []
          ]
        ]
      ]
      2 => array:7 [▼
        "id" => 7
        "created_at" => "2017-08-10 15:47:09"
        "updated_at" => "2017-08-10 15:50:37"
        "parent_id" => 0
        "children" => array:1 [▼
          0 => array:7 [▼
            "id" => 8
            "created_at" => "2017-08-10 15:47:20"
            "updated_at" => "2017-08-10 15:50:48"
            "parent_id" => 7
            "children" => array:1 [

           0 => array:7 [
                "id" => 9
                "created_at" => "2017-08-10 15:49:17"
                "updated_at" => "2017-08-10 15:51:08"
                "parent_id" => 8
                "children" => []
              ]
            ]
    ] ] ] ]

    创建一个方法

     1     public function getCategoryChildrenIds($data, $lev = 0)
     2     {
     3         $arr = [];
     4         foreach ($data as $key => $value) {
     5             if ($lev) {
     6                 $arr[] = $value->id;
     7             }
     8 
     9             if( isset($value['children'])) {
    10                 $childLev = $lev + 1;
    11                 $arr = array_merge($arr, self::getCategoryChildrenIds($value['children'], $childLev));
    12 
    13             }
    14 
    15         }
    16         return $arr;
    17     }

    获取顶级下所有下级id

    array:5 [▼
      0 => 2
      1 => 3
      2 => 5
      3 => 8
      4 => 9
    ]
  • 相关阅读:
    #最小生成树,Trie#CF888G Xor-MST
    #Tarjan#洛谷 5676 [GZOI2017]小z玩游戏
    #区间dp#CF1114D Flood Fill
    #构造,二分#[AGC006B] [AGC006D] Median Pyramid
    #0/1分数规划#AT1807 食塩水
    #笛卡尔树#洛谷 3793 由乃救爷爷
    #同余最短路#洛谷 2371 [国家集训队]墨墨的等式
    awk命令使用
    k8s快速删除所有退出的pod
    ratticdb密码管理工具安装使用
  • 原文地址:https://www.cnblogs.com/smallyi/p/7421719.html
Copyright © 2020-2023  润新知