我目前正在使用usort对一个多维数组进行排序,它根据value 1从高到低的顺序列出我的数组,但是,如果有多个值最高的子数组,我希望能够根据最高到最低的值对value 2进行排序。这个是可能的吗?
发布于 2012-02-14 07:46:45
您可以在同一个usort回调中执行此操作。大致是这样的:
usort($array, function ($a, $b) {
if ($a['foo'] < $b['foo']) return 1;
else if ($a['foo'] > $b['foo']) return -1;
else if ($a['bar'] < $b['bar']) return 1;
else if ($a['bar'] > $b['bar']) return -1;
else return 0;
});发布于 2012-02-14 07:47:34
看一看http://php.net/manual/en/function.array-multisort.php
您可能希望这样做:
$data = array(
array('x', 'y', 'z'),
array(3, 7, 2),
);
array_multisort($data[0], SORT_DESC, SORT_STRING,
$data[1], SORT_DESC, SORT_NUMERIC);
var_dump($data);https://stackoverflow.com/questions/9269725
复制相似问题