精华内容
下载资源
问答
  • <p>I have array: <pre><code>Array ( [0] => Array ( [0] => Apples [Query] => Apples ) [1] => Array ( [0] => Bananas [Query] =>...<p>Unfortunately I have no control over the original...
  • //PHP一维数组的排序可以用sort...//以下函数是对一个给定二维数组按照指定的键值进行排序,先看函数定义:  function array_sort($arr,$keys,$type='asc'){   $keysvalue = $new_array = array();   fo
    1. <?php  
    2. //PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义。  
    3. //以下函数是对一个给定的二维数组按照指定的键值进行排序,先看函数定义:  
    4. function array_sort($arr,$keys,$type='asc'){  
    5.     $keysvalue = $new_array = array();  
    6.     foreach ($arr as $k=>$v){  
    7.         $keysvalue[$k] = $v[$keys];  
    8.     }  
    9.     if($type == 'asc'){  
    10.         asort($keysvalue);  
    11.     }else{  
    12.         arsort($keysvalue);  
    13.     }  
    14.     reset($keysvalue);  
    15.     foreach ($keysvalue as $k=>$v){  
    16.         $new_array[$k] = $arr[$k];  
    17.     }  
    18.     return $new_array;  
    19. }  
    20. //它可以对二维数组按照指定的键值进行排序,也可以指定升序或降序排序法(默认为升序),用法示例:  
    21. $array = array(  
    22.         array('name'=>'手机','brand'=>'诺基亚','price'=>1050),  
    23.         array('name'=>'笔记本电脑','brand'=>'lenovo','price'=>4300),  
    24.         array('name'=>'剃须刀','brand'=>'飞利浦','price'=>3100),  
    25.         array('name'=>'跑步机','brand'=>'三和松石','price'=>4900),  
    26.         array('name'=>'手表','brand'=>'卡西欧','price'=>960),  
    27.         array('name'=>'液晶电视','brand'=>'索尼','price'=>6299),  
    28.         array('name'=>'激光打印机','brand'=>'惠普','price'=>1200)  
    29.         );  
    30. //下面是对$array这个二维数组按照'price'从低到高的排序。  
    31. $ShoppingList = array_sort($array,'price');  
    32. print_r($ShoppingList);  
    展开全文
  • php数组的键值对不是理解很透,是否说是可以自定义一个下标,让后创建一个新的键值对,让后经常出现foreach($a as $key=>$b){...}.里面$key作用是什么
  • //自定义一个HashMap //实现了put方法增加键值对,并解决了键重复的时候覆盖相应的节点 //实现toString方法,方便查看Map中的键值对的信息 public class SxtHashMap03 { Node2 table[];//位桶数组 int ...
  • usort是php自带的可以自定义排序的函数,usort二维数组指定键值排序。 bool usort ( array &$array , callable $cmp... 本函数将用用户自定义的比较函数对一个数组中的值进行排序。如果要排序的数组需要用一...

    usort是php自带的可以自定义排序的函数,usort对二维数组指定键值排序。

    bool usort ( array &$array , callable $cmp_function )


    本函数将用用户自定义的比较函数对一个数组中的值进行排序。如果要排序的数组需要用一种不寻常的标准进行排序,那么应该使用此函数。

    参数

    • array

    • 输入的数组

    • cmp_function

    • 在第一个参数小于,等于或大于第二个参数时,该比较函数必须相应地返回一个小于,等于或大于 0 的整数。

    不说了,PHP手册看看还是非常好的,书读百遍其义自现,看代码:

    $a = array(array("num"=>1,"name"=>'11'),array("num"=>3,
    "name"=>'33'),array("num"=>2,"name"=>'22'));
    usort($a,compare);
    print_r($a);
    
    function compare($x,$y)
    { 
    	if($x['num'] == $y['num']) 
    		return 0; 
    	elseif($x['num'] > $y['num']) 
    		return -1; 
    	else 
    		return 1; 
    }

    原文来源  : http://www.jincon.com/archives/145/

    转载于:https://my.oschina.net/jincon/blog/229020

    展开全文
  • Java里有键值对数组,Hashmap,但是问题来了,它不能保持顺序,这对我们数据库排序结果影响太大了 自己扩展一个,使用到之前KV类 此类对象,用for ... in 遍历, 多种方法增加数据 根据实际情况,增加了键名修正...
    Java里有键值对数组,Hashmap,但是问题来了,它不能保持顺序,这对我们数据库排序的结果影响太大了
    
    自己扩展一个,使用到之前的KV类
    此类的对象,用for ... in 遍历, 多种方法增加数据
    根据实际情况,增加了键名修正功能
    
    
    import java.util.Iterator;
    import java.util.Vector;
    
    /**
     * 有序键值对数组对象
     * 
     * @author 蓝冰大侠
     * 
     */
    public class Array implements Iterable<KV> {
    	// 实际保存数据的有序数组
    	private Vector<KV> items = new Vector<KV>();
    
    	/**
    	 * 带初始数据的构造函数
    	 * 
    	 * @param items
    	 */
    	public Array(KV... items) {
    		for (KV item : items) {
    			this.items.addElement(item);
    		}
    	}
    
    	/**
    	 * 不带初始数据的构造函数
    	 */
    	public Array() {
    	}
    
    	/**
    	 * 返回全部数据
    	 * 
    	 * @return
    	 */
    	public Vector<KV> getItems() {
    		return items;
    	}
    
    	/**
    	 * 添加一个值
    	 * 
    	 * @param item
    	 * @return
    	 */
    	public Array add(KV item) {
    		return set(item.key, item.value);
    	}
    
    	/**
    	 * 冗余方法,同样添加一个值
    	 * 
    	 * @param item
    	 * @return
    	 */
    	public Array put(KV item) {
    		return set(item.key, item.value);
    	}
    
    	/**
    	 * 快速添加一个键值对
    	 * 
    	 * @param key
    	 * @param value
    	 * @return
    	 */
    	public Array add(String key, Object value) {
    		return set(key, value);
    	}
    
    	/**
    	 * 同上
    	 * 
    	 * @param key
    	 * @param value
    	 * @return
    	 */
    	public Array put(String key, Object value) {
    		return set(key, value);
    	}
    
    	/**
    	 * 修改一个值
    	 * 
    	 * @param key
    	 * @param value
    	 * @return
    	 */
    	public Array set(String key, Object value) {
    		// 如果原来有,修改
    		for (KV item : items) {
    			if (item.key.equalsIgnoreCase(key)) {
    				item.value = value;
    				return this;
    			}
    		}
    
    		// 否则 添加
    		items.addElement(new KV(key, value));
    		return this;
    	}
    
    	/**
    	 * 移除一个值
    	 * 
    	 * @param key
    	 * @return
    	 */
    	public Array remove(String key) {
    		for (KV item : items) {
    			if (item.key.equalsIgnoreCase(key)) {
    				items.remove(item);
    			}
    		}
    		return this;
    	}
    
    	/**
    	 * 取一个键值对
    	 * 
    	 * @param index
    	 * @return
    	 */
    	public KV get(int index) {
    		return items.get(index);
    	}
    
    	/**
    	 * 根据键取值
    	 * 
    	 * @param key
    	 * @return
    	 */
    	public Object get(String key) {
    		for (KV item : items) {
    			if (item.key.equalsIgnoreCase(key)) {
    				return item.value;
    			}
    		}
    		return null;
    	}
    
    	/**
    	 * 返回 遍历器
    	 * 
    	 * @return
    	 */
    	public Iterator<KV> iterator() {
    		return new ArrayIterator();
    	}
    
    	/**
    	 * 遍历类
    	 * 
    	 * @author 蓝冰大侠
    	 * 
    	 */
    	class ArrayIterator implements Iterator<KV> {
    		// 索引
    		private int index = 0;
    
    		/**
    		 * 是否有下一个
    		 */
    		public boolean hasNext() {
    			return index != items.size();
    		}
    
    		/**
    		 * 取下一个
    		 */
    		public KV next() {
    			return items.get(index++);
    		}
    
    		/**
    		 * 删除一个
    		 */
    		public void remove() {
    			items.remove(index);
    		}
    	}
    
    	/**
    	 * 字段名修正大小写
    	 * 
    	 * @param name
    	 */
    	public void rename(String... names) {
    		//逐个名称遍历
    		for (String name : names) {
    			
    			//在保存的数据里遍历
    			for (KV item : items) {
    				
    				//如果原来的键(不区分大小写)匹配,则修改为新的键
    				if (item.key.equalsIgnoreCase(name)) {
    					item.key = name;
    				}
    			}
    		}
    	}
    
    }
    

    展开全文
  • 我们可以以json键值对的形式自定义属性。 首先定义一个JS数组JSarray。 然后按json键值对的形式进行赋值。 最后在控制台显示结果。 代码如下: var JSarray = new Array(); for(var i = 0;i;i++){ ...

    我们可以以json键值对的形式自定义属性。

    首先定义一个JS数组JSarray。

    然后按json键值对的形式进行赋值。

    最后在控制台显示结果。

    代码如下:

    		var JSarray = new Array();
    		for(var i = 0;i<5;i++){
    			JSarray[i] = {
    					arr1:"text"+i,
    					arr2:"text"+i,
    					arr3:i
    			}
    			console.log(JSarray[i].arr1);
    			console.log(JSarray[i].arr2);
    			console.log(JSarray[i].arr3);
    		}
    结果:


    展开全文
  • 自定义一个HashMap

    2019-08-13 20:06:26
    自定义一个HashMap 实现了put方法增加键值对,并解决了键重复时候覆盖相应节点问题 @author */ public class TestHashMap { Node2[] table;//位桶数组 bucket array int size; public ...
  • 自娱自乐 ...//存放键值对的个数 public sxtHashMap(){ weitong = new Node[16];//长度一般是2的整数次幂 } public V get(K key) { int hash = myHash(key.hashCode(), weitong.length);
  • PHP一维数组的排序可以用sort(),asort()...以下函数是对一个给定二维数组按照指定的键值进行排序,先看函数定义: functionarray_sort($arr,$keys,$type='asc'){ $keysvalue=$new_array=array(); ...
  • 自定义一个HashMap 实现toString方法,方便查看Map中的键值对信息 @author */ public class TestHashMap { Node2[] table;//位桶数组 bucket array int size; public TestHashMap() { table = new ...
  • PHP二维数组排序函数 PHP一维数组的排序可以用sort(),asort(),...以下函数是对一个给定二维数组按照指定的键值进行排序,先看函数定义: 01.functionarray_sort($arr,$keys,$type='asc'){ 02.$keysvalue=$n...
  • 学过PHP的小伙伴们都知道,PHP中的数组的下标是允许我们自定义的,PHP中的数组确切的说就是键值对。而在OC我们要用字典(Dictionary)来存储,当然了Java用的是Map来存储键值对。下面我们将实现一个极为实用的小例子...
  • 字典在很多的高级语言中是很常见的,java中的hashmap,php中的键值对的数组,python中的是dict,它是一个可变的容器模型,可以存储任意的数据结构,但是容器中的每个元素都是以键值对的形式存在的,形如key =>...
  • PHP实现二维数组排序方法,HP一维数组的...以下函数是对一个给定二维数组按照指定的键值进行排序,先看函数定义: function array_sort($arr,$keys,$type='asc'){ $keysvalue = $new_array = array(); ...
  • /*** 通过自定义来实现一个map功能* 存放键值对,根据键对象找到一个值对象,确保没有重复*/import java.util.Map;public class test01 {SxtEntry[] arr=new SxtEntry[990];int size;//定义函数实现将键值对放入数组...
  • 定义map function Map() { /** 存放键的数组(遍历用到) */ this.keys = new Array(); /** 存放数据 */ this.data = new Object... * 放入一个键值对 * @param {String} key * @param {Object} value */
  • PHP 二维数组排序

    2014-03-22 17:48:03
    有两个方法,其中第一个方法返回的数组如果重新排序再用ajaxReturn就会变成一个jsonObject,而不是一个jsonArray了。 第二种方法是array。 1.PHP二维数组排序函数 PHP一维数组的排序可以用sort(),asort(),arsort...
  • 自定义一个HashMap 实现了put方法增加键值对,并解决了键重复时覆盖相应节点 实现tostring方法,实现方便观看 根据键对象 获取value */ public class FanHashMap4<K,V> { Node3[] table;//位桶数组 int ...
  • HashMap集合的自定义实现

    千次阅读 2016-12-24 19:47:12
    HashMap集合是Map接口实现类,在Map集合不同于Collectiion集合,Map集合存放键值对,通过键(key)可以找到对应值(value),而且每一个key是唯一。那么该如何自定义实现HashMap呢? 通过阅读jdk源代码,...
  • 来源:公众号【编程珠玑】作者:守望先生ID:shouwangxianshengRedis (一个使用ANSI C编写开源、支持网络、基于内存、可选持久性的键值对存储数据库。)没有直接使用 C 语言传统字符串表示redis中字符串,而是...
  • /** * 通过自定义来实现一个map功能 * 存放键值对,根据键对象找到一个值对象,确保没有重复 */ import java.util.Map; public class test01 { SxtEntry[] arr=new SxtEntry[990]; int size; //定义函数实现将键值...
  • PHP二维数组排序函数

    2014-06-09 13:05:54
    PHP一维数组的排序可以用sort(),asort(),arsort()等函数,但是PHP二维数组的排序需要自定义。 以下函数是对一个给定二维数组按照指定的键值进行排序,先看函数定义:
  • 模仿源码自定义HashMap

    2016-05-10 21:07:34
    链表元素是键值对数据,数组元素为链表(源码中为链表一个键值对元素),同一个链表元素是键值哈希值对数组长度取余结果相同键值对,而它们键值哈希码对数组长度取余结果恰好作为数组的下标,查找更为方便...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 145
精华内容 58
关键字:

自定义一个键值对的数组