按数组的一列对数据库查询中的数组进行排序


Sorting array from db query by one column of the array

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

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

数组 ( [0] => 标准类对象 ( [项目] => 0 [大小] => 2056515 [组] => SF2K [描述] => 205/65R15 萨菲罗 SF2000 94V 40K [排序4] => 94 [排序5] => V [排序6] => [价格] => 69.69.14 ) [1] => 标准类对象 ( [项目] => 8518 [大小] => 2056515 [组] => FTOUR [描述] => 205/65R15 福锡安之旅 BW 94H 40K [排序4] => 94 [排序5] => H [排序6] => [价格] =

> 77.63 ) [2] => 标准类对象 ( [项目] => 106633 [大小] => 2056515 [组] => 塞伦 [描述] => 205/65R15 BS 图兰扎 SER+ 94H 80K[排序4] => 94 [排序5] => H [排序6] => [价格] => 124.07 )

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

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

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

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

然后,在你的数组上,我们称之为$myArray,调用:

usort($myArray, 'myComparator');
有关

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

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

升序(最低在前):

ORDER BY price ASC

降序(最高在前):

ORDER BY price DESC

您只需将"按价格排序"(或ASC,根据您的需求)"添加到SQL查询中