程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

根据 html 依赖关系重新排序数组元素

发布于2024-11-03 21:55     阅读(728)     评论(0)     点赞(17)     收藏(3)


我的前端模板上有一些 HTML 格式,它取决于数组上 foreach 循环的结果,在这个例子中,为了获得正确的格式,它期望 panel_type_id 的顺序为 4,6,3,否则它会构建错误的格式。

如果按照 4、6、3 的顺序添加面板,那么就没有问题。

有没有办法在加载时对数组进行重新排序,以便无论如何它都遵循这个顺序?

  <div class="row middle">
  <?php foreach($panelResult as $PR): ?>
  <?php if($PR['panel_type_id'] == 4){ ?>
  <!-- Left -->
  <div class="col-lg-6"  >
    <div class="row" style="height:50%; padding-bottom: 15px;">
        <div class="col-lg-12" style="height:100%;">
            <div style="/*background-color: rgba(255, 255, 255, 0.5);*/ height: 100%; ">
        <?php echo $PR['content']?>
        </div>
        </div>
    </div>
  <?php } elseif($PR['panel_type_id'] == 6){?>
    <div class="row" style="height:50%; padding-top: 15px;">
        <div class="col-lg-12" style="height:100%;">
            <div style="/*background-color: rgba(255, 255, 255, 0.5);*/ height: 100%;">
          <?php echo $PR['content']?>
        </div>
        </div>
    </div>
  </div>
  <?php } elseif($PR['panel_type_id'] == 3){?>
  <div class="col-lg-6" >
        <div style="/*background-color: rgba(255, 255, 255, 0.5);*/ height: 100%; ">
        <?php echo $PR['content']?>
      </div>
  </div>
  <?php } ?>
  <?php endforeach; ?>
  </div><!--end row middle-->

解决方案


您可以使用usort并定义自己的函数。

请考虑以下情况:

$panelResult = array(["panel_type_id" => 3, "content" => "CCC"], ["panel_type_id" => 4, "content" => "BBB"], ["panel_type_id" => 6, "content" => "AAA"]);

function cmp($a, $b) {
    $goodOrder = [4,6,3];
    return array_search($a["panel_type_id"], $goodOrder) - array_search($b["panel_type_id"], $goodOrder);
}

usort($panelResult, "cmp");

现在的顺序$panelResult将是:4, 6, 3所以你只需继续使用原来的代码




所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:http://www.qianduanheidong.com/blog/article/534982/04b69ae8e4d9532a245b/

来源:前端黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

17 0
收藏该文
已收藏

评论内容:(最多支持255个字符)