【发布时间】:2011-12-02 03:35:32
【问题描述】:
我有那个数组:
$a = array(
"7" => array(
"id" => 7,
"parent" => 6
),
"6" => array(
"id" => 6,
"parent" => 5
),
"5" => array(
"id" => 5,
"parent" => 4
),
"4" => array(
"id" => 4,
"parent" => 0
),
"3" => array(
"id" => 7,
"parent" => 2
),
"2" => array(
"id" => 7,
"parent" => 1
),
"1" => array(
"id" => 7,
"parent" => 0
)
);
我想要的结果是:
$a = array(
"4" => array(
"id" => 4,
"parent" => 0,
array(
"5" => array(
"id" => 5,
"parent" => 4,
array(
"6" => array(
"id" => 6,
"parent" => 5,
array(
"7" => array(
"id" => 7,
"parent" => 6
)
)
)
)
)
)
),
"2" => array(
"id" => 7,
"parent" => 1,
array(
"3" => array(
"id" => 7,
"parent" => 2
)
)
),
"1" => array(
"id" => 7,
"parent" => 0
)
);
我使用的代码是这样的:
foreach($a as $v)
{
if(isset($a[$v['PARENT']]))
{
$a[$v['PARENT']][$v['ID']] = $v;
unset($a[$v['ID']]);
}
}
我遇到的问题是我得到了这个结果:
$a = array(
"4" => array(
"id" => 4,
"parent" => 0,
array(
"5" => array(
"id" => 5,
"parent" => 4
)
)
),
"2" => array(
"id" => 7,
"parent" => 1,
array(
"3" => array(
"id" => 7,
"parent" => 2
)
)
),
"1" => array(
"id" => 7,
"parent" => 0
)
);
而不是需要它的结果。
【问题讨论】:
-
我已经给你solution你在上一个问题中的问题。没用吗?
-
我已经更改了来自我的数据库的数据的形式,但现在它无法正常工作。现在问题出在其他位置。当我尝试传递到同一个数组中时,一个二维数组到另一个数组元素中,第二维正在消失。那有什么问题? :(
-
您犯的错误是您正在删除您仍然需要的值。完成后,您取消设置子项的每个子项 compare with my answer,这也会取消设置,但会更早地引用,以便 实际 值不会被删除而是保留。
标签: php arrays multidimensional-array