// 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','end')//返回指定截取的一段数组
//数组比较:
//差集
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')//判断数组中是否有该键名
//删除或替换/splais/
array_splice()*//删除或替换数组中指定的元素,并返回被删除或替换的数组
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);