根据变量对foreach循环进行排序


Sort a foreach loop based on variable

我有一个前端表格(使用WordPress的高级自定义字段插件),供用户跟踪每周骑自行车上班的天数。每个人都有自己的行,并输入他们每周的号码。然后我循环查看,将每行输入的总数相加,并列出每个人的姓名及其总数。

如何对其进行排序,使名称按最高总数($overalltotal)的顺序列出?这是我的代码,它正确地列出了名称及其总数,但它没有排序:

 $rows = get_sub_field('ride_tracker');
 foreach( $rows as $row )
    {
    $overalltotal = intval($row['week_1'] + $row['week_2'] + $row['week_3'] + $row['week_4']);
    echo $row['name'] . ' : ' . $overalltotal . '<br />' ;
    }

我读过array_multisort和usort,但我不知道如何让它们与循环中计算的变量一起工作。

谢谢你的帮助!

ACF是一个很棒的插件。我什么都用它。

我看到你在使用子字段,所以我认为你在使用中继器。

ACF使用此格式array_multisort( $column_id, SORT_ASC, $repeater );

这个页面可能会帮你很多忙,展示如何在ACF中对字段进行排序。

http://www.advancedcustomfields.com/resources/how-to/how-to-sorting-a-repeater-field/