php - Foreach排序

标签 php api sorting

我不太确定这是否可行,但无论如何我都会尝试解释一下,

我们正在尝试为我们的公会制作一个页面,我们希望它显示装备的平均元素等级以及他们的名字,例如

Name | iLvL 
Bob    262
Sam    159

我们目前正在运行一个脚本,该脚本正在执行以下操作:

$members = $guild->getMembers();

这基本上得到了我们公会中所有成员的列表——然后我们用 foreach 循环遍历并再次调用以获取一些信息

//Character Arrays
foreach($members as $member) {

//Get character information
$mrank = $member['rank'];
$mname = $member['character']['name'];
$mgender = $member['character']['gender'];
$mlevel = $member['character']['level'];
$mrace = $member['character']['race'];
$character = $armory->getCharacter($mname);
$gear = $character->getGear();
$milevel = $gear['averageItemLevelEquipped'];
echo '<td><div align="center" class="style1">'. $mname .'</div></td>';
echo '<td><div align="center" class="style1">'. $milevel .'</div></td> ';

唯一的问题是因为我们遍历它们,我不太确定如何将平均项目级别从高到低排序 - 我听说过类似 rsort 的东西,但我似乎无法让它工作并且我想知道是否有人能够帮助解决这个问题。

谢谢

最佳答案

我建议根据现有数据创建一个数组,每个人都有一个子数组。还创建一个仅包含 averageItemLevelEquipped 值的数组,然后在运行 array_multisort 时将其用作索引数组。它看起来像这样:

$resourcearray = array();
$indexarray = array();

foreach($members as $member) {
    //Get character information
    $mrank = $member['rank'];
    $mname = $member['character']['name'];
    $milevel = $gear['averageItemLevelEquipped'];
    //and anything else you want to add goes here, of course
    array_push($resourcearray, array('rank' => $mrank, 'charname' => $mname, 'itemlevel' => $milevel));
    array_push($indexarray, $milevel);
}

array_multisort($indexarray, $resourcearray);

foreach($resourcearray as $resource) {
    echo '<td><div align="center" class="style1">'. $resource['charname'] .'</div></td>';
    echo '<td><div align="center" class="style1">'. $resource['itemlevel'] .'</div></td> ';
}

关于php - Foreach排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13030808/

相关文章:

php - MongoClient PHP 脚本永远运行

javascript - 显示来自 api 调用的搜索结果

java - 为什么java.lang.Short没有类似于java.lang.Integer的reverse()方法

api - Piwik API如何获得7天的每日访问量

algorithm - 为什么快速排序排除中间元素而归并排序包含它?

php 文件将内容反转

php - 如何在 Mysql 和 php 中更改单个用户的详细信息

php - 将重复项合并到一行并使用 php 求和

javascript - 排序 "day" "week" "month"和 "year"

PHP 按包含 Y-m-d H :i:s date 的元素对多维数组进行排序