1. function sort_with_keyName($arr,$orderby='desc'){
  2. //在内存的另一处 $a 复制内容与 $arr 一样的数组
  3. foreach($arr as $key => $value)
  4. $a[$key]=$value;
  5. if($orderby== 'asc'){//对数组 $arr 进行排序
  6. asort($arr);
  7. }else{
  8. arsort($arr);
  9. }
  10. /*创建一个以原始数组的键名为元素值 (键值) 的
  11. *数组 $b, 其元素 (键值) 顺序,与排好序的数组 $arr 一致。
  12. */
  13. $index=0;
  14. foreach ($arr as $keys => $values) //按排序后数组的顺序
  15. foreach($a as $key => $value) //在备份数组中寻找键值
  16. if ($values==$value)//如果找到键值
  17. $b[$index++]=$key; // 则将数组 $b 的元素值,设置成备份数组 $a 的键名
  18. //返回用数组 $b 的键值作为键名,数组 $arr 的键值作为键值,所组成的数组
  19. return array_combine($b, $arr);
  20. }
  1. $arr = array('AA'=>3,'AB'=>1,'AC'=>2);
    排序 123 保留 AAABAC
    private function sort_with_keyName($arr,$orderby='desc'){
  2. $new_array = array();
  3. $new_sort = array();
  4. foreach($arr as $key => $value){
  5. $new_array[] = $value;
  6. }
  7. if($orderby=='asc'){
  8. asort($new_array);
  9. }else{
  10. arsort($new_array);
  11. }
  12. foreach($new_array as $k => $v){
  13. foreach($arr as $key => $value){
  14. if($v==$value){
  15. $new_sort[$key] = $value;
  16. unset($arr[$key]);
  17. break;
  18. }
  19. }
  20. }
  21. return $new_sort;
  22. }

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. paxos 实现

    原文地址:http://rdc.taobao.com/blog/cs/?p=162 本文主要介绍zookeeper中zookeeper Server leader的选举,zookeeper在选举lea ...

  2. HDU 5477 A Sweet Journey 水题

    A Sweet Journey Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.php?pi ...

  3. ZOJ 3827 Information Entropy 水题

    Information Entropy Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://acm.zju.edu.cn/onlinejudge/sh ...

  4. 飘逸的python - 理解打开文件的模式

    当我们用open()函数去打开文件的时候,有好几种打开的模式.   'r'->只读 'w'->只写,文件已存在则清空,不存在则创建. 'a'->追加,写到文件末尾 'b'->二 ...

  5. SpecialFolder

            private void button1_Click(object sender, EventArgs e)         {             Environment.Spe ...

  6. 使用RecyclerView写树形结构的TreeRecyclerView

    简单介绍 android是不提供树形控件的,假设须要使用树形控件.我们应该怎么做呢? 先看效果 上图是一个明显的树形结构 实现原理 在逻辑上,它们是包括关系.数据结构上是多叉树,这是毋庸置疑的. 可是 ...

  7. Compiling aSmack

    For a recent mobile project we used XMPP. It worked really well and I’m keen to use it again. But, i ...

  8. mysql distinct跟group by性能

    mysql distinct和group by性能   1,测试前的准备 //准备一张测试表 mysql> CREATE TABLE `test_test` ( ->   `id` int ...

  9. java 并发官方教程

    http://docs.oracle.com/javase/tutorial/essential/concurrency/index.html Concurrency Computer users t ...

  10. JQuery实现页面Loading效果

    第一步:添加遮罩层和LOADING层 <div class="overlay"></div><div id="AjaxLoading&quo ...