【问题标题】:how to make php array tree? [duplicate]如何制作php数组树? [复制]
【发布时间】:2022-03-07 23:39:45
【问题描述】:

有如下数组。

  $arrTmp = array();
  $arrTmp = array(
  array('id' => 206,
  'BoardName' => 'Schedule',
  'pid' => 196),

  array('id' => 145,
  'BoardName' => 'testboard3',
  'pid' => 196),

  array('id' => '197',
  'BoardName' => 'testboard',
  'pid' => 196),     
 
  array('id' => '198',
  'BoardName' => 'hawi',
  'pid' => 197),
 
  array('id' => '199',
  'BoardName' => 'hawi2',
  'pid' => 197)    
     
);
Array
(
    [0] => Array
        (
            [id] => 206
            [BoardName] => Schedule
            [pid] => 196
        )
    [1] => Array
        (
            [id] => 145
            [BoardName] => testboard3
            [pid] => 196
        )


    [2] => Array
        (
            [id] => 197
            [BoardName] => testboard
            [pid] => 196
        )

    [3] => Array
        (
            [id] => 198
            [BoardName] => hawi
            [pid] => 197
        )

    [4] => Array
        (
            [id] => 199
            [BoardName] => hawi2
            [pid] => 197
        )     
  );


“Pid”是“id”的父级。 “pid”为 197 的数组进入 id 为“197”的数组的子类别。

如果没有 id 值数组作为 pid,则显示为 206 或 145 id 的数组。 206 或 145 是一个示例,不一定要与该值匹配。

pid的例子有“197”或“196”,DB中的pid和id有很多种。

我想按如下方式制作这个数组。

    $arrTmp2 = array(
    array('id' => 206,
    'title' => 'Schedule',
    'pid' => 196),
    
    array('id' => '197',
    'title' => 'testboard',
    'pid' => 196,
          'sub' => array(
              
            'hawi' => array
              (
               'title' => 'hawi',
              'id' => 198       
                ),
            'hawi2' => array
              (
               'title' => 'hawi2',
              'id' => 199       
                )
             
        )
    )
);

Array
(
    [0] => Array
        (
            [id] => 206
            [title] => Schedule
            [pid] => 196
        )

    [1] => Array
        (
            [id] => 197
            [title] => testboard
            [pid] => 196
            [sub] => Array
                (
                    [hawi] => Array
                        (
                            [title] => hawi
                            [id] => 198
                        )

                    [hawi2] => Array
                        (
                            [title] => hawi2
                            [id] => 199
                        )

                )

        )


我该怎么办? 我寻求帮助。

foreach ($arrTmp as $key => $value) {


        
}

【问题讨论】:

  • 这并不是自己解决这个问题的真正尝试!

标签: php


【解决方案1】:

你描述的看起来像tree data structure。您可能会找到 there 您需要的实现。

【讨论】:

  • 你写的其实只是评论,
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-05
  • 1970-01-01
  • 2013-05-06
  • 1970-01-01
  • 2020-02-28
  • 2023-03-20
相关资源
最近更新 更多