按列表项中的特定值排序

时间:2013-04-18 08:19:12

标签: php html list sorting

我想通过列表项中的特定值来排序我的无序列表。我用循环生成我的列表。

我的循环列表项看起来像这样。值<?php echo $nyslutdatum; ?>是我希望我的列表被排序的值(由于两种循环条件的情况,显示两次)

<li>
    <div id="kursprogram-kurstillfalle-kurs">

        <?php the_title(); ?>

    </div>

    <div id="kursprogram-kurstillfalle-ort">

        <?php the_sub_field('ort'); ?>

    </div>

    <div id="kursprogram-kurstillfalle-datum">

        <?php if(get_sub_field('startdatum') != '') { ?>

            <?php echo $nystartdatum; ?> - <?php echo $nyslutdatum; ?>

        <?php } else { ?>

            <?php echo $nyslutdatum; ?>

        <?php } ?>

        <?php if(get_sub_field('slutdatum_2') != '') { ?>

        <br />

            <?php echo $nystartdatum_2; ?> - <?php echo $nyslutdatum_2; ?>

        <?php } ?>

    </div>

    <div id="kursprogram-kurstillfalle-notis">

        <?php the_sub_field('notis') ?>

    </div>

    <div class="clearboth" />

</li>

1 个答案:

答案 0 :(得分:0)

如果我正确理解了这个问题,请使用php函数“usort”。

以下内容将$ array从最高到最低的“销售额”排序。

$array = array(
  array('sales'=> 10, 'views'=> 200),
  array('sales'=> 3,  'views'=> 100),
  array('sales'=> 13, 'views'=> 500)
);

usort($array,function($a,$b){
  if( $a['sales'] == $b['sales'] ){
    return 0;
  }
  return ($a['sales'] > $b['sales']) ? -1 : 1;
});

PHP usort