请我需要一种有效的方法来用php排序这种数组...
[
'product' => ['order' => 2, 'parent' => null],
'nam-product' => ['order' => 13, 'parent' => 'product'],
'core' => ['order' => 5, 'parent' => null],
'cart' => ['order' => 4, 'parent' => 'session'],
'session' => ['order' => 4, 'parent' => null],
'naivas-cart' => ['order' => 5, 'parent' => 'cart'],
'user' => ['order' => 3, 'parent' => null],
];
按顺序对数组进行排序,但还要确保父级不在子级之前,我将uasort用于这样的第一个条件
uasort($plugin, function ($a, $b) use ($direction) {
if ($a['order'] == $b['order']) {
return 0;
}
if ($direction == 'dsc') {
return $a['order'] < $b['order'] ? 1 : -1;
}
return $a['order'] > $b['order'] ? 1 : -1;
});
达到第二个条件的有效方法使我难以理解。