php 一维数组排序,保留key值

 

function sort_with_keyName($arr,$orderby='desc'){
//在内存的另一处 $a 复制内容与 $arr 一样的数组
    foreach($arr as $key => $value) 
    $a[$key]=$value;
    if($orderby== 'asc'){//对数组 $arr 进行排序
        asort($arr);
    }else{
        arsort($arr);
    }                         
/*创建一个以原始数组的键名为元素值 (键值) 的
 *数组 $b, 其元素 (键值) 顺序,与排好序的数组 $arr 一致。
*/
    $index=0;
    foreach ($arr as $keys => $values) //按排序后数组的顺序
    foreach($a as $key => $value) //在备份数组中寻找键值
    if ($values==$value)//如果找到键值
    $b[$index++]=$key; // 则将数组 $b 的元素值,设置成备份数组 $a 的键名 
//返回用数组 $b 的键值作为键名,数组 $arr 的键值作为键值,所组成的数组 
    return array_combine($b, $arr);
}

 

 

$arr = array('AA'=>3,'AB'=>1,'AC'=>2);
排序 123 保留 AAABAC
private
function sort_with_keyName($arr,$orderby='desc'){ $new_array = array(); $new_sort = array(); foreach($arr as $key => $value){ $new_array[] = $value; } if($orderby=='asc'){ asort($new_array); }else{ arsort($new_array); } foreach($new_array as $k => $v){ foreach($arr as $key => $value){ if($v==$value){ $new_sort[$key] = $value; unset($arr[$key]); break; } } } return $new_sort; }

 

转载于:https://www.cnblogs.com/zengdiao/p/6019290.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值