2

是否可以从数据库查询的数组中获取结果并按结果中的一列排序?如果是这样,那将如何进行?

这是我拥有的数组的示例:

Array ( [0] => stdClass Object ( [item] => 0 [size] => 2056515 [group] => SF2K [description] => 205/65R15 SAFFIRO SF2000 94V 40K [sort4] => 94 [sort5] = > V [sort6] => [price] => 69.14 ) [1] => stdClass Object ( [item] => 8518 [size] => 2056515 [group] => FTOUR [description] => 205/65R15 FUZION TOUR BW 94H 40K [sort4] => 94 [sort5] => H [sort6] => [price] => 77.63 ) [2] => stdClass Object ( [item] => 106633 [size] => 2056515 [group] => SEREN [描述] => 205/65R15 BS TURANZA SER+ 94H 80K [sort4] => 94 [sort5] => H [sort6] => [price] => 124.07 ) )

我想按 [价格] 对其进行排序。我知道在这个例子中它们都已经按数字顺序排列了,但它们并不总是如此。

4

3 回答 3

1

真正的解决方案是修复您的代码,以便您可以order by在查询中使用语句。

也就是说,要在 php 中执行此操作,请创建一个比较器函数:

function myComparator($a, $b) {
    return $a->price - $b->price;
}

然后,在你的数组上,让我们调用它$myArray,调用:

usort($myArray, 'myComparator');

有关更多详细信息,请参阅有关 usort 的 php.net 文档。

于 2013-10-08T17:30:33.563 回答
0

您可以使用 SQL 查询本身来执行此操作。在查询末尾添加以下内容之一:

升序(最低在前):

ORDER BY price ASC

降序(最高优先):

ORDER BY price DESC
于 2013-10-08T17:15:05.373 回答
0

您可以在 SQL 查询中添加“ORDER BY price DESC(或 ASC,取决于您的需要)”

于 2013-10-08T17:15:13.430 回答