好的,首先,我什至不确定标题是否正确,如果是,我很抱歉。
我在这里有这个循环,它是 MongoDB 查询的结果:
foreach($cursor as $obj) {
$monster = $obj["type"];
$strenght = $obj["strenght"];
$obj["value"] = rand(5, 15);
}
现在,我放在rand
那里以表示value
每次迭代的更改。现在我希望这个数组在打印时按那个排序$obj["value"]
,并且能够选择是升序还是降序。
好的,我试过这个
foreach($cursor as $obj) {
$type = $obj["monster"];
$strenght = $obj["strenght"];
$obj["value"] = rand(5, 15);
$newarr[] = $obj;
}
usort($newarr, "cmp");
function cmp($a, $b)
{ return $b['value'] < $a['value']; }
foreach ($newarr as $obj)
{
echo $obj['value'] . $obj['type'] . "<br/>";
}
正如我所料,
$obj["value"] = rand(5, 15);
事实上,$newarr 不会在每次迭代中丢失,但问题是它根本不对它们进行排序。这些项目的打印顺序与它们放入数组中的顺序相同。有什么帮助吗?
谢谢