实习小结十一:PHP实现每周排名(随排名变化,箭头改变)

来源:互联网 发布:macui设计软件 编辑:程序博客网 时间:2024/05/21 12:46

我这边实现的主要是根据上周的排名,来与目前的排名进行对比,如果排名上升,就是上升的红色箭头,箭头随排名发生改变。
具体看部分代码:
rankarraycount_same是相同排名的计数次数。
主要是,先将排名第一的进行单独判断,之后的排名和前一个排名进行判断,如果排名相同,那么使得当前的index排名和前一个的相同,因为他们的排名实际上是一致的,所以上升和下降也应该相同。

<?php     $rank_array = array();    $count_same = 0; ?><?php foreach ($companies as $index => $company) {?>    <div class="infor<?php echo $else_index;?> info">          <?php $index++; ?>        <div class="index"><?php echo $index; ?></div>        <?php array_push($rank_array, $company->last_rank);        ?>        <?php if ($index == 1) {            if ($index - ($company->last_rank) > 0){ ?>                <div class="rank-down rank"></div>        <?php }            elseif ($index - ($company->last_rank) < 0) { ?>                <div class="rank-up rank"></div>        <?php }            else{ ?>                <div class="rank-still rank"></div>        <?php }        }else{            if ($rank_array[$index-1] == $rank_array[$index-2]){                $count_same++;                $index_a = $index - $count_same;            }else{                $index_a = $index;            }            if ($index_a - ($company->last_rank) > 0){ ?>                <div class="rank-down rank"></div>        <?php }            elseif ($index_a - ($company->last_rank) < 0) { ?>                <div class="rank-up rank"></div>        <?php }            else{ ?>                <div class="rank-still rank"></div>        <?php }        } ?>

实现效果图:
说起来可能比较复杂,但是实际试一试,很简单

在做关于算法的时候,如果遇到不明白的错误,最好拿张纸和笔,自己按照算法流程过一遍,这样容易发现问题。

0 0