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 保留 AA,AB,AC
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;
}

php 一维数组排序,保留key值的更多相关文章

  1. PHP合并数组保留key值

    PHP合并数组,键值不变   尝试了好几个合并数组的函数, 但是都是把key值重置, 导致key值丢失(因为key值是要用到的) 大大说, 最好用数组的相关函数, 网上随意找了下, 还是没找到. 因为 ...

  2. Map去重,去重value相同的元素,保留key最小的那个值

    Map<Integer,String>,Integer代表时间撮,String代表文本信息去重函数:就是删除Map中value相同的元素,只保留key最小的那个元素 public stat ...

  3. SQLSERVER:大容量导入数据时保留标识值 (SQL Server)

    从MSDN上看到实现大容量导入数据时保留标识值得方法包含三种: MSDN链接地址为:https://msdn.microsoft.com/zh-cn/library/ms178129.aspx 感觉M ...

  4. php合并数组并保留键值的方法

    答案:使用 + 连接两个数组,替换array_merge()函数. php合并数组,一般会使用array_merge方法. array_merge — 合并一个或多个数组 array array_me ...

  5. js json按key值排序

    最近有个需求需要把json按key值进行排序,可是js并没有直接的函数可以对json进行排序的这么办呢? 然后想到了一个间接的方法来实现: 1.将json中的key值取出,存在一个数组中,然后对这个数 ...

  6. Map 转 json格式 保留null值的解决办法

    Map 转 json格式 保留null值的解决办法 开发中遇到将map数据转json格式,然后map中含null值的键值对都被转没了,所以记录一下,以下是解决方法 使用fastJson进行转换 imp ...

  7. Python解析非标准JSON(Key值非字符串)

    采集数据的时候经常碰到一些JSON数据的Key值不是字符串,这些数据在JavaScript的上下文中是可以解析的,但在Python中,没有该部分数据的上下文,无法采用json.loads(JSON)的 ...

  8. Activiti 删除key值相同的所有不同版本的流程定义

    package com.mycom.processDefinition; import java.io.File; import java.io.IOException; import java.io ...

  9. Js中获取对象的所有key值

    假如现在有一个对象 var obj = { A:2 ,B:"Ray" ,C:true ,D:function(){} } 如果想遍历对象obj中的所有键值,一般是用以下方式 for ...

随机推荐

  1. Android事件分发原理

    终于用上了word 2013来写博客,感觉真是老好了,以前在网页上写,老是要把网页拖上拖下的,每次都要吐一升老血啊,现在用上本地的word,瞬间感觉好多了.还有感谢为word写插件的这个大神,代码高亮 ...

  2. 给postfix设置黑名单

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  3. cocos2d-x之蒙板,局部高亮可点,CCRenderTexture

    转自:http://www.2cto.com/kf/201207/144656.html 蒙板,局部高亮可点的用处大多是在新手引导的时候,引导玩家一步一步的走游戏的操作流程. 之前写了一个cocos2 ...

  4. 对get_baserel_parampathinfo函数的学习

    /* * get_baserel_parampathinfo * Get the ParamPathInfo for a parameterized path for a base relation, ...

  5. Design Pattern Explained 读书笔记二——设计模式序言

    设计模式的由来: 20 世纪 90 年代初,一些聪明的开发者偶然接触到 Alexander(Christopher Alexander 的建筑师) 有关模式的工作.他们非常想知道,在建筑学成立的理论, ...

  6. Codeforces Round #325 (Div. 2) D. Phillip and Trains BFS

    D. Phillip and Trains Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/586/ ...

  7. 滑雪_poj_1088(记忆化搜索).java

    滑雪 Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 67987   Accepted: 25013 Description ...

  8. Xposed知识

    最近闹得沸沸扬扬的MIUI抄袭Xposed不署名事件,为此在这里普及一下相关的Xposed的知识. 相关资源 source code: https://github.com/rovo89 online ...

  9. android Animation 动画效果介绍

    Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动 ...

  10. Using zend-navigation in your Album Module

    Using zend-navigation in your Album Module In this tutorial we will use the zend-navigation componen ...