// 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);php常用数组函数集合
选择阅读主题色