PHP 二维数组排序

// 本文为小白文章,如果谁有更好的经验欢迎评论,我也会认真学习!!!!
// 这是我用tp3.2写的一个排序方法,下列sql语句均是tp框架的自带函数,一个连表查询的操作(数据为二维数组)
// 在对dutie_id进行Min()函数排序时,无法直接进行order by 排序,所以在查询数据后进行了二维数组排序操作

	$user_info 	= M('user_dutie as ud')
					->join("LEFT JOIN onethink_t_user as u ON ud.user_id = u.PID")
					->field("u.PID, u.UserName, u.job, u.iphone, u.avatar, min(ud.dutie_id) as dutie_id")
					->where("u.PID in ({$id})")
					->group("u.PID")
					->select();
	// 方法一:
	// 通过PHP函数取数数组中的职务id值
	$order_array = array_column($user_info, 'dutie_id');
	// 根据dutie_id值进行正序排列,取出最大职务
array_multisort($order_array,SORT_ASC,$user_info );  	

//方法二:
// 循环取出数组中的职务id, 组成新的数组,然后进行排序
$order_array  = array();
foreach ($user_info as $k => $v) {
	$order_array[] = $v['dutie_id'];
}
array_multisort($order_array,SORT_ASC,$user_info );  

你可能感兴趣的:(PHP)