yii2 ul-li菜单排序与foreach值


yii2 ul li menu sorting with foreach value

我使用ul-li显示菜单,从数据库获取菜单

$Features = $session->get('Features');
foreach ($Features as $menuItems) {
   $order_priority = $menuItems->order_priority;
   $name = $menuItems->name;
   $path = $menuItems->path;
}

在列出的菜单下面,

<li>
  <a href="<?php echo Url::to($path);?>">
    <?php echo $menuItems->name; ?>
  </a>
</li>

我的问题是,我想显示订单优先级为[1,2,3,4]的菜单SORT?

如果您的order_priority属性没有重复。你可以试试这个:

$menu = [];
foreach ($session->get('Features') as $menuItems) {
    $menu[$menuItems->order_priority] = Html::a($menuItems->name, $menuItems->path);
}
ksort($menu);

为了生成列表,你可以这样做:

echo Html::ul($menu)

但如果重复,你可以像@ustmaestro在评论中所说的那样,对数据库查询中的项目进行排序。