安排亲子关系

时间:2013-08-26 03:56:05

标签: php mysql relationship

我已阅读Build a tree from a flat array in PHPConvert a series of parent-child relationships into a hierarchical tree?,但无法弄清楚如何为我的问题实施它。这样就有一对关系:

Array
(
    [0] => catalog.iden = catalog_sub.parent
    [1] => catalog.group = catalog_group.iden
    [2] => catalog_photo.iiden = catalog.iden
)

我没有NULL,或0或任何显式条件来停止循环。我所知道的是哪个字段具有auto_increment属性的主键。在该示例中,它将是名为'iden'的字段,因此在关系中它将是“parent”。

我花了一个星期来解决这个问题,但没有结果。那么任何人都可以帮助我按照关系顺序排列这个数组。它可能是平面阵列的树。

提前致谢。

更新

到目前为止,我只能这样做:

foreach($matches[0] as &$match) {
    $ref  = explode('=', $match); // split by = sign
    $lft = explode('.', $ref[0]);
    $rgt = explode('.', $ref[1]);

    if($lft[1] == 'iden') {
        $arr[$lft[0]][$rgt[0]] = $rgt[1];
    } else {
        $arr[$rgt[0]][$lft[0]] = $lft[1];
    }
}

什么通过主键排序和按使用的表分组:

Array
(
[catalog] => Array
    (
        [catalog_sub] => parent
        [catalog_photo] => iiden
    )

[catalog_group] => Array
    (
        [catalog] => group
    )

)

0 个答案:

没有答案