阅读背景:

PHP 两个多维数组根据某个键的值进行组合排序的几种思路(二)

来源:互联网 

几个经过封装的方法:

1.使用 array_multisort() 函数

<?php

$arr = [
	['name'=>'dee','age'=>28],
	['name'=>'emperor', 'age'=>30],
	['name'=>'Lee', 'age'=>32],
	['name'=>'Arshavin', 'age'=>33],
	['name'=>'Totti', 'age'=>40]
];

$arr2 = [
	['name'=>'Ozil', 'age'=>27],
	['name'=>'CR7', 'age'=>29],
	['name'=>'Doctor', 'age'=>33],
	['name'=>'John', 'age'=>35]
];


function multi_array_sort($multi_array, $sort_key, $sort = SORT_DESC) {
	if (is_array($multi_array)) {
		foreach ($multi_array as $row_array) {
			if (is_array($row_array)) {
				$key_array[] = $row_array[$sort_key];
			} else {
				return FALSE;
			}
		}
	} else {
		return FALSE;
	}
	array_multisort($key_array, $sort, $multi_array);
	return $multi_array;
}

$arr = array_merge($arr, $arr2);
$arr = multi_array_sort($arr, 'age', SORT_ASC);

echo '<pre>';
print_r($arr);
<?



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: