わかりました、まず、タイトルが正しいかどうかさえわかりません。もしそうなら、申し訳ありません。
ここに、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 にはその値が含まれています。問題は、それらがまったくソートされないことです。アイテムは、配列内に配置されたのと同じ順序で出力されます。何か助けはありますか?
ありがとう