【发布时间】:2017-02-17 19:48:01
【问题描述】:
大家好,我想知道如何在孩子中添加父 ID?
例如:MY_ARRAY
(
[id] => 4
[children] => Array
(
[0] => Array
(
[id] => 18
[children] => Array
(
[0] => Array
(
[id] => 21
)
[1] => Array
(
[id] => 22
)
)
)
[1] => Array
(
[id] => 19
)
[2] => Array
(
[id] => 20
[children] => Array
(
[0] => Array
(
[id] => 26
)
)
)
)
)
到目前为止,这些是我所做的代码,但仍然没有给我正确的结果。
$in = MY_ARRAY
function generateArray($in, $out, $parent = 0, $prev_par = 0){
foreach($in as $key => $value) {
$childs = false;
if(isset($value['children'])){ // if there is children
$childs = $value['children'];
unset($value['children']);
}
if($prev_par != $parent){
$prev_par = $parent;
}
else{
$prev_par = $prev_par;
}
$out[] = array($value['id'],$parent,$prev_par);
if($childs){
$parent = $value['id'];
$out = $this->generateArray($childs, $out, $parent, $prev_par);
}
}
return $out;
}
我需要添加一个父 ID,因为现在我可以在不显示正确父 ID 的情况下检索他们的层次结构。
输出可能如下所示。只要我可以添加父 ID。
[id] => 4
[P_id] => 0
[children] => Array
(
[0] => Array
(
[id] => 18
[P_id] => 4
[children] => Array
(
[0] => Array
(
[id] => 21
[P_id] => 18
)
[1] => Array
(
[id] => 22
[P_id] => 18
)
)
)
[1] => Array
(
[id] => 19
[P_id] => 4
)
[2] => Array
(
[id] => 20
[P_id] => 4
[children] => Array
(
[0] => Array
(
[id] => 26
[P_id] => 20
)
)
)
)
)
这里真的需要帮助谢谢大家...
【问题讨论】:
-
分享你的
$in数组,它是函数的第一个参数。 -
肯定会更新它@AHJeebon is MY_ARRAY
标签: php arrays codeigniter sorting hierarchy