php二维数组多字段排序

if (!function_exists('sortArr')) {

	/**
	 * 二维数组多字段排序
	 *
	 * sortArr($array1, 'id', SORT_ASC, 'age', SORT_ASC);
	 */
	function sortArr()
	{
		$args = func_get_args();
		if (empty($args)) {
			return null;
		}
		$arr = array_shift($args);
		if (!is_array($arr)) {
			throw new Exception("第一个参数不为数组");
		}
		foreach ($args as $key => $field) {
			if (is_string($field)) {
				$temp = array();
				foreach ($arr as $index => $val) {
					$temp[$index] = $val[$field];
				}
				$args[$key] = $temp;
			}
		}
		$args[] = &$arr;//引用值
		call_user_func_array('array_multisort', $args);
		return array_pop($args);
	}
}

 

你可能感兴趣的:(php)