2016-12-15 113 views
0

我有一个从MySQL查询行数组。我需要做的是按字段之一对其进行排序(无符号整型)。我通过引用来查看,但不知道我究竟如何对对象数组进行排序,因为PHP似乎没有像运算符重载(您在C++中执行的操作)的情况,并且一些现有函数表示它们不稳定,这意味着2个相同的元素,它们在排序数组中的位置是未定义的,这听起来真是怪异的IMO。 那么,当你需要对一组对象进行排序时,PHP中的一般方法是什么?如何通过PHP中的对象字段对对象数组进行排序?

+0

[usort()](http://www.php.net/manual/en/function.usort.php) –

+0

http://stackoverflow.com/questions/8456029/how-does-usort-work – 2016-12-15 19:02:42

回答

1

您需要编写自己的函数来进行比较。一旦你有这个功能,你可以使用usort - http://php.net/manual/en/function.usort.php

请注意,这也适用于排序对象数组,你只需要改变你的比较函数。

+0

如果两个成员比较相等,它们在排序数组中的相对顺序是未定义的。 我可以做到这一点,以便我的比较函数永远不会返回0,并且完全像“<”运算符一样操作? –

+0

当然可以。所有usort()函数关心的是它可以将2件事传递给你的函数,并且它返回-1,1或0.只要决定是否需要相等的值总是返回为“小于”或“大于”并去为它:) – ivanivan

相关问题