原文地址 https://www.xiegaosheng.com/post/view?id=90
根据数组中的值进行排序并且返回指定的元素个数;
array_sort() $limit 是指定返回数组的元素个数
/**
* Created by PhpStorm.
* function: array_sort
* Description:数组排序
* User: Xiaoxie
* Email 736214763@qq.com
* @param $arr数组
* @param $keys需要根据排序的键值
* @param string $type
* @param string $limit 需要保存几个键值
* @return array
*
*/
public function array_sort($arr, $keys, $type = 'desc',$limit = '')
{
$key_value = $new_array = array();
foreach ($arr as $k=>$v)
{
//把需要排序的字段值放入新的数组里面
if(isset($v[$keys])){
$key_value[$k] = $v[$keys];
}
}
if ($type=='asc')
{
//根据键值排序
asort($key_value);
}else{
arsort($key_value);
}
reset($key_value);
//还原数组
$i = 0 ;
foreach ($key_value as $k=>$v)
{
$new_array[$k] = $arr[$k];
$i++;
if ($limit )
{
if ($limit < $i){
unset($new_array[$k]);
}
}
}
return array_values($new_array);
}