0

我遇到了问题,array_push所以我需要制作数字数组而不是关联数组。但是,当我这样做时,我总是推送 2 个值:

  1. 首先是搜索的关键(表中对象的 ID)
  2. 第二个是赋予具有 ID 的对象的一些值。

因此,如果我们有,比如说,4具有 ID 的对象: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 关联的其他值时。

更新:哦,因为你提到

第一个是搜索的键(中对象的 ID ),第二个是赋予具有 ID 的对象的一些值。

当您谈论数据库表时,让数据库为您排序;)

ORDER BY `valueColumn` DESC
于 2013-01-03T19:31:46.693 回答