Array.php
来源:原创
时间:2016-09-14
作者:脚本小站
分类:代码笔记
<?php // index 索引 下标 array() //生成一个数组 array_combine('array','arrray')//存放键的数组,存放值的数组合成键值数组 range('low','high','step') //创建并返回一个包含指定范围的元素的数组。 compact() //变量与变量的值搞成数组 array_fill('start_index','num','mixed') //用给定的值生成数组 //数组合并和拆分: //分 array_chunk('array','num') //将一个大数组按指定个数分割为小数组 //合 array_merge('array','array') //把两个或多个数组合并为一个数组。 array_merge_recursive() //同上,不同,重复值叠成大的子数组 //截 array_slice('array','start','length') //返回指定截取的一段数组 array_splice('array','start') //例:array_splice($fruits, 4) 将$fruits数组的第5开始个到最后返回,$fruits数组只剩前五个 //数组比较: //差集 array_diff('array','array') //返回两个数组的差集数组,集合A减集合B //交集/inte'sekt/ array_intersect('array','array') //返回两个或多个数组的交集数组 //数组查找替换: array_search('value','array') //在数组中查找一个键值,成功返回键名 in_array('str','array') //在数组中搜索给定的值,区分大小写 array_key_exists('key','array')//判断数组中是否有该键名 array_sum('array') //返回数组中所有值的总和 //数组指针操作: key() //返回数组内部指针当前指向元素的键名 current() //返回数组中的当前元素(单元)别名pos() next() //把指向当前元素的指针移动到下一个元素的位置,并返回当前元素的值 prev() //把指向当前元素的指针移动到上一个元素的位置,并返回当前元素的值 end() //将数组内部指针指向最后一个元素,并返回该元素的值(如果成功) reset() //把数组的内部指针指向第一个元素,并返回这个元素的值 list() //用数组中的元素为一组变量赋值 array_shift() //删除数组中的第一个元素,并返回被删除元素的值 array_unshift() //在数组开头插入一个或多个元素 array_push() //向数组最后压入一个或多个元素 array_pop() //删除数组中的最后一个元素 //数组键值操作: shuffle()* //将数组随机打乱 count() //计算数组中的单元数目或对象中的属性个数 array_flip() //返回一个键值反转后的数组 array_keys() //返回数组所有的键,组成一个数组 array_values() //返回数组中所有值,不保留键名,组成一个数组 array_reverse() //返回将数组倒序 array_count_values() //统计数组中所有的值出现的次数 array_rand()* //从数组中随机抽取一个或多个元素,注意是键名!!! each() array_unique()* //删除重复值,返回剩余数组 array_filter('array','fun') //利用回调函数过滤数组 array_map('fun','array','array'); //数组排序: sort() //按升序对给定数组的值排序,不保留键名 rsort() //对数组逆向排序,不保留键名 asort() //对数组排序,保持索引关系 arsort() //对数组逆向排序,保持索引关系 ksort() //按键名对数组排序 krsort() //将数组按照键逆向排序 natsort() //用自然顺序算法对数组中的元素排序 natcasesort() //自然排序,不区分大小写 //========================二维数组排序======================= //============================================================ $users = array( array('name' => 'tom', 'age' => 20) , array('name' => 'anny', 'age' => 18) , array('name' => 'jack', 'age' => 22) ); usort($users, function($a, $b) { //回调函数排序 $al = $a['age']; $bl = $b['age']; if ($al == $bl) return 0; return ($al > $bl) ? 1 : -1; }); array_multisort() //函数对多个数组或多维数组进行排序。 $ages = array(); foreach ($users as $user) { $ages[] = $user['age']; } // $users 要排序的二维数组 // $ages 要排序的字段,必须提取出来 array_multisort($ages, SORT_ASC, $users); // 同理,多字段排序 array_multisort($ages, SORT_ASC, $names, SORT_ASC, $users); print_r($users);