
PHP二维数组利用其中的某个key的值重新排序
PHP二维数组利用其中的某个key的值重新排序
/** * 二维数组降序排序 * @param $arr * @param $field //依据这个key来排序 * @return array */ function reDescSort(&$arr, $field) { $ss = function ($key) { return function ($a, $b) use ($key) { return $a[$key] < $b[$key]; //通过改变大于、小于来正向反向排序 }; }; usort($arr, $ss($field)); return $arr; }
如:
<?php function reDescSort(&$arr, $field) { $ss = function ($key) { return function ($a, $b) use ($key) { return $a[$key] < $b[$key]; //通过改变大于、小于来正向反向排序 }; }; usort($arr, $ss($field)); return $arr; } $arr = [ [ 'money'=>3, 'name'=>'商品1' ], [ 'money'=>5, 'name'=>'商品2' ] ]; reDescSort($arr, 'money'); var_dump($arr);
输出:
array(2) { [0]=> array(2) { ["money"]=>int(5) ["name"]=>string(7) "商品2" } [1]=> array(2) { ["money"]=> int(3) ["name"]=>string(7) "商品1" } }