排序的foreach [英] Foreach Sorting

查看:99
本文介绍了排序的foreach的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我也不太清楚,如果这是可能的,但我会尽量无论如何解释,

I'm not too sure if this is possible but I will try to explain it anyhow,

我们正试图使一个页面,我们行会,我们希望它显示物品平均等级装备他们的名字一起例如

We are trying to make a page for our guild and we want it to display the Average Item level Equipped along with their name e.g.

Name | iLvL 
Bob    262
Sam    159

我们目前正在运行一个脚本,做以下内容:

We are currently running a script that is doing the following :

$members = $guild->getMembers();

这基本上得到我们的公会所有成员的名单 - 我们再用一个foreach循环迭代通过并拨打另一个电话来获得信息比特

This basically gets a list of all members in our guild - We are then iterating through with a foreach loop and making another call to get bits of information

//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我似乎无法得到它的工作,我想知道如果任何人都能够伸出援助之手与此有关。

The only problem is because we iterate through them singular im not too sure how I could sort the Average Item Level into highest to lowest - I've heard of things like rsort but i couldn't seem to get it to work and I was wondering if anyone would be able to lend a hand with this.

感谢

推荐答案

我建议创建一个数组了,你有没有数据的,具有子阵列的每个人。还创建一个数组仅仅包含了averageItemLevelEquipped值,然后捉迷藏在array_multisort 时使用它作为数组索引。它看起来是这样的:

I recommend creating an array out of the data you have there, with a sub-array for each person. Also create an array merely consisting of the averageItemLevelEquipped values, and then use that as the index array when runnning array_multisort. It would look something like this:

$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> ';
}

这篇关于排序的foreach的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆