我有一个这样的数组:
<?php
array(
array(
'id' => 1,
'parent_id' => null
),
array(
'id' => 2,
'parent_id' => 1
),
array(
'id' => 3,
'parent_id' => null
),
array(
'id' => 4,
'parent_id' => 2
)
)
我需要将其排序到每个孩子的直接父母之后。因此,ID 4 项应该紧接在 ID 2 之后。
Thanks.
该工作解决方案适用于array_multisort().
尝试使用:
$data = array(
array(
'id' => 1,
'parent_id' => null
),
array(
'id' => 2,
'parent_id' => 1
),
array(
'id' => 3,
'parent_id' => null
),
array(
'id' => 4,
'parent_id' => 2
)
);
$parent_ids = array();
foreach ($data as $item) {
$parent_ids[] = $item['parent_id'];
}
array_multisort($parent_ids, SORT_ASC, $data);
如果你想null
最后的值替换它foreach
with:
foreach ($data as $item) {
if (is_null($item['parent_id'])) {
$item['parent_id'] = PHP_INT_SIZE;
}
$parent_ids[] = $item['parent_id'];
}
查看结果:print_r($data);
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)