9得票3回答
PHP usort() 函数要求参数 2 必须是一个有效的回调函数,而不是在类中。

我遇到了一个usort函数的问题,它似乎不喜欢第二个参数(排序函数)。我看到很多关于这个问题的提问都涉及到在类中使用时的问题,解决方法是传递一个array($this, functionName)数组。但是在我的情况下,这种方法并没有起作用。我的脚本不是一个类,但我却收到了以下错误: PHP...

8得票6回答
按照十进制值对多维数组进行排序

我想要做的是对一个包含小数值的多维数组进行排序。根据我的测试,浮点数在排序时存在问题。 Array ( [0] => Array ( [company] => Ebay [weight] => 4.6 ...

7得票3回答
PHP usort的附加参数

下面的代码位于一个类中的函数内部。它的目的是避免每个$filter值都有一个排序函数: $GLOBAL['filter'] = $filter; usort($this->data, function($arr1, $arr2) { return ($arr1[$GLOBALS...

7得票2回答
PHP - usort如何不修改数组中对象的内容?

我正在使用带有用户比较函数的usort来对对象数组进行排序。在对这些对象数组运行usort后,我发现一些对象的值随着它们在数组中的位置改变而改变。我错过了什么?我不认为我的用户比较函数中有任何副作用。usort是否以某种方式解构/重构对象? 以下是我正在使用的用户比较函数: private...

7得票2回答
PHP usort重新排序数组,但所有排序值都相同

我正在使用usort对一个数组进行排序,其中每个元素都包含一个关联数组。 当我要排序的所有值在数组中都相同时,它仍然会改变数组中元素的位置,有没有办法防止这种情况发生? 例如: array( array('name' => 'Ben', 'authn_weight' =&g...

7得票6回答
按加权值排序多维数组

这里有很多关于如何在PHP中对多维数组进行排序的问题,答案是使用usort()函数。我知道这一点。但我有一个更进一步的问题,并且在这里没有看到类似的答案。 我有一个记录数组,每个记录包括一个国家ID(或国家名称,如果您愿意的话;这并不相关)。 我的任务是以某种方式对数组进行排序,以支持某些...

7得票2回答
在PHP中是否可以将闭包传递给usort函数?

我有一个数组排序函数,如下所示: public function sortAscending($accounts) { function ascending($accountA, $accountB) { if ($accountA['AmountUntilNextT...

7得票1回答
PHP - Usort返回1而不是数组

我有一个多维数组,我想按包含Unix时间戳的字段进行排序: Array ( [0] => Array ( [0] => 723 [1] => 1442008738 ) [1] => Array ( [0] => 721 [1] => 13868028...