0

問題がarray_pushあったので、結合法則ではなく数値配列を作成する必要がありました。しかし、私がそれをしている間、私は常に2つの値をプッシュしました:

  1. 最初は検索の鍵でした(テーブル内のオブジェクトのID)
  2. 2つ目は、IDを持つオブジェクトに与えられた値です。

したがって、たとえば、4IDが:のオブジェクトが1,2,3,4あり、それらにいくつかの値を指定した場合:(20, 50, 40, 30最小のIDから)、私の配列は次のようになります。

1, 20, 2, 50, 3, 40, 4, 30.

配列を最大値から並べ替えるにはどうすればよいですか?結果は次のような配列になります。

2, 50, 3, 40, 4, 30, 1, 20.
4

1 に答える 1

1

PHPはネストされた(多次元)配列をサポートします

$array = [
    [1, 20],
    [2, 50],
    [3, 40],
    [4, 30]
];

今、あなたはそれを簡単に分類することができます

usort(
    $array,
    function ($left, $right) { return $right[1] - $left[1]; }
);
var_dump($array);

このIDと値に応じて、特にこのIDに関連付けられた他の値が存在する場合は、代わりにクラスを作成することを検討できます。

更新:ああ、そしてあなたが言及したので

1つ目は検索のキー(テーブル内のオブジェクトのID )であり、2つ目はIDを持つオブジェクトに与えられた値です。

データベーステーブルについて話しているときは、データベースを並べ替えてください;)

ORDER BY `valueColumn` DESC
于 2013-01-03T19:31:46.693 に答える