嵌套父/子连接中未排序的元素堆栈的最有效方法

时间:2015-06-17 15:49:46

标签: php sorting nested

我有一堆随机排序的元素,它们都引用此堆栈中的父元素(通过id,没有真正的引用)。根元素指的是自己。

将这些元素放入嵌套数组中的最有效算法是什么:

array(
  array(
    'element' => $element1,
    'children' => array(
      array(
        'element' => $element1_1,
        'children' => array()
      ),
      array(
        'element' => $element1_2,
        'children' => array()
      )
    ),
  ),
  array(
    'element' => $element2,
    'children' => array()
  )
)

修改

数据示例:

$data = array(
  array('id' => 4, 'pid' => 4, 'value' => 'V1'),
  array('id' => 1, 'pid' => 4, 'value' => 'V2'),
  array('id' => 3, 'pid' => 6, 'value' => 'V3'),
  array('id' => 5, 'pid' => 8, 'value' => 'V4'),
  array('id' => 8, 'pid' => 1, 'value' => 'V5'),
  array('id' => 2, 'pid' => 4, 'value' => 'V6'),
  array('id' => 6, 'pid' => 6, 'value' => 'V7'),
  array('id' => 7, 'pid' => 4, 'value' => 'V8'),
  array('id' => 9, 'pid' => 6, 'value' => 'V9')
);

0 个答案:

没有答案