这包括多维数组(包括对象数组)和排序一个数组基于另一个数组。
排序功能:
PHP 需要自定义比较函数来对复杂值进行排序。
步骤:
创建一个比较函数,该函数接受两个元素并返回:
使用其中之一函数:
如果按数字排序key:
function cmp(array $a, array $b) { return $a['baz'] - $b['baz']; }
如果对一组对象进行排序:
function cmp($a, $b) { return $a->baz - $b->baz; }
按一个字段进行初级排序(例如,“foo”)和另一个二次排序(例如, "baz"):
function cmp(array $a, array $b) { if (($cmp = strcmp($a['foo'], $b['foo'])) !== 0) { return $cmp; } else { return $a['baz'] - $b['baz']; } }
按特定顺序排序(例如,"foo"、"bar"、"baz"):
function cmp(array $a, array $b) { static $order = array('foo', 'bar', 'baz'); return array_search($a['foo'], $order) - array_search($b['foo'], $order); }
根据一个数组对一个数组进行排序另一种:
array_multisort($array1, $array2);
从 PHP 5.5.0 开始,您可以使用 array_column 提取特定列并对数组进行相应排序:
array_multisort(array_column($array, 'foo'), SORT_DESC, $array);
以上是如何在 PHP 中对数组和数据进行排序?的详细内容。更多信息请关注PHP中文网其他相关文章!