如何在单个foreach循环中对多个数组的值进行排序?

时间:2017-07-14 21:02:08

标签: php

我使用以下代码来显示玩家名称和目标数量。但问题是它不是基于目标数量的定位。 我的目标是根据目标数量对玩家进行排名;更多目标最高位置。 我需要有人帮忙。

$top_player_names = rwmb_meta( 'pb_player_rank', array( 'multiple' => false ) );   
  $goals     = rwmb_meta( 'pb_goal_number','', get_the_ID() ); 
  foreach( $top_player_names as $index => $top_player_name ) {?>
    <li class="col-md-12"> 
    <div class="col-md-8"><?php  echo get_the_title($top_player_name); ?></div>
    <div class="col-md-4"><?php  echo $goals[$index]; ?></div>

    </li>
   <?php }

1 个答案:

答案 0 :(得分:0)

  1. 使用$goals
  2. asort($goals);数组进行排序
  3. 使用$goals上的foreach代替$top_player_names
  4. 您的代码可能如下所示:

    $top_player_names = rwmb_meta( 'pb_player_rank', array( 'multiple' => false ) );   
      $goals     = rwmb_meta( 'pb_goal_number','', get_the_ID() ); 
      asort($goals);
      foreach( $goals as $index => $goal ) {?>
        <li class="col-md-12"> 
        <div class="col-md-8"><?php  echo get_the_title($top_player_names[$index]); ?></div>
        <div class="col-md-4"><?php  echo $goals[$index]; ?></div>
    
        </li>
       <?php }
    

    我认为这是解决此问题的最简单,最快捷的方式。