Php 基于变量对foreach循环排序

Php 基于变量对foreach循环排序,php,wordpress,sorting,variables,foreach,Php,Wordpress,Sorting,Variables,Foreach,我有一个使用WordPress高级自定义字段插件的前端表格,用户可以跟踪他们每周骑车上班的天数。每个人都有自己的行,并输入每周的号码。然后我循环计算每行输入的总数,并列出每个人的姓名和总数 如何对其进行排序,以便按最高的合计$overalltotal按顺序列出名称?这是我的代码,它正确地列出了姓名及其总数,但未排序: $rows = get_sub_field('ride_tracker'); foreach( $rows as $row ) { $overalltota

我有一个使用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是一个很棒的插件。我什么都用它

我看到您正在使用sub_字段,所以我假设您正在使用中继器

ACF使用此格式数组\u multisort$column\u id,SORT\u ASC$repeater

本页可能会对您有很大帮助,显示如何在ACF中对字段进行排序


您是否尝试过:$rows=sort$rows;在foreach之前?我刚试过。它告诉我:警告:为foreachOk提供的参数无效,现在我明白了$rows是一个数组,如果您想按键排序,只需`$rows=get_sub_field'ride_tracker`在ksort$行之后;我在您指定的位置尝试了ksort$行,但没有效果。我需要按变量$overalltotal进行排序,它是在foreach循环内计算的,因此排序代码似乎必须在这之后出现,不是吗?你不能在一个循环和同一个循环中进行计算和排序-这应该是显而易见的,如果您仔细想想:您无法对值进行排序,因为它们还没有全部计算出来。将名称和总数放入一个数组,对该数组进行排序,然后使用第二个循环输出数据。