如何在php中从反向数组创建列表

如何在php中从反向数组创建列表,php,logic,jquery-ui-sortable,Php,Logic,Jquery Ui Sortable,我使用了jquerynestedsortable插件,每当项目改变顺序时,它都会返回一个项目列表。从下面的列表中可以看出: Item 371 Item 372 Item 373 Item 374 Item 375 我收到以下阵列: '0' ... 'id' => "371" 'parent_id' ... 'depth' => "0" 'has_child' => "0" '1' ... 'id' => "373"

我使用了
jquerynestedsortable插件
,每当项目改变顺序时,它都会返回一个项目列表。从下面的列表中可以看出:

Item 371
Item 372
    Item 373
    Item 374
Item 375
我收到以下阵列:

'0' ...
    'id' => "371"
    'parent_id' ...
    'depth' => "0"
    'has_child' => "0"
'1' ...
    'id' => "373"
    'parent_id' => "372"
    'depth' => "1"
    'has_child' => "0"
'2' ...
    'id' => "374"
    'parent_id' => "372"
    'depth' => "1"
    'has_child' => "0"
'3' ...
    'id' => "372"
    'parent_id' ...
    'depth' => "0"
    'has_child' => "1"
'4' ...
    'id' => "375"
    'parent_id' ...
    'depth' => "0"
    'has_child' => "0"
我现在做的是存储每个项目的优先级(即
数组no

问题是,通过提供的数组,子项(在上面的示例中
1
2
)的优先级高于其父项(在上面的示例中
3

现在,每当视图被重新加载时,就不可能重新创建列表,因为子项将在父项之前回响

是否有其他方法从该数组中重新创建列表

编辑

元素不能有granchilds,
深度
只能是
0
1

这种方法怎么样(其中$list是给定的数组):


元素可以有孙子(和更深层的后代)吗?很抱歉没有提到这一点。不,深度最大为1。非常感谢,我将使用您的解决方案,因为没有太多的记录需要迭代。
$queue=array();
foreach($list as $v){
    if($v['parent_id']==0){
        echo 'Item '.$v['id'];
        foreach($queue as $child){
            echo ': Item '.$child['id'];
        }
        $queue=array();
    }
    else {
        $queue[]=$v;    
    }
}