在我的项目中向我们解释


Explain usort in my project

你好,几天前我请求帮助对数组进行排序。我得到了一个完美的回应,但我不完全确定它是如何对数组进行排序的,所以我只是想知道是否有人能快速解释它是如何做到的。

以下是我收到的排序数组的内容$time_table是我创建的数组。我不理解$a[3]-$b[3]。

function sortByRandomNo($a, $b) {
   // return $b[3] - $a[3]; // ***descending ****
     return $a[3] - $b[3]; //****Acsending****
}
usort($times_table, 'sortByRandomNo');

如果您查看php.net文档,这一切都取决于作为第二个参数传递给usort的compare函数http://nl3.php.net/manual/en/function.usort.php,您可以看到value_compare_func表示

如果第一个参数被认为分别小于、等于或大于第二个参数,则比较函数必须返回小于、等于和大于零的整数。

这可能就是为什么如果你做$a[3] - $b[3]是升序而$b[3] - $a[3]是降序。