排序的foreach [英] Foreach Sorting
问题描述
我也不太清楚,如果这是可能的,但我会尽量无论如何解释,
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屋!