0.数组总结
php中的数组作用强大的一X
it can be treated as an array, list (vector), hash table (an implementation of a map), dictionary, collection, stack, queue, and probably more
0.1 数组基于hash表,查询速度快,并且不区分索引数组和关联数组,这种方式坏处是,内存占用比较大
0.2 PHP数组键名可以是:integer,string 值名可以是任何类型
0.3 PHP数组被foreach检索,如果要检索的时候改变值,可加上引用(注意引用带来的变量生存域)
1.数组函数总结
1.1.改变数组
/**创建数组**/
array (语法结构) //新建数组
range //
建立一个包含指定范围单元的数组
compact //创建一个包含变量与其值的数组
/**数组元素**/
array_multisort //对多个数组或多位数组进行排序
array_pop //数组元素出栈
array_push //数组元素入栈
array_shift //将数组开头的单元移出数组
array_unshift //在数组开头插入一个或多个单元
shuffle //将数组打乱
/**数组内部**/
each //
返回数组中当前的键/值对并将数组指针向前移动一步
end //将数组内部指针指向最后一个单元
next //前移内部指针
prev //数组内部指针倒退一位
reset //将数组的内部指针指向第一个单元
/**数组排序**/
arsort //
对数组进行逆向排序并保持索引关系(值)
asort //对数组进行排序保持索引关系(值)
krsort //对数组按照键名逆向排序
krsort //对数组按照键名逆向排序
ksort //对数按照键名排序
rsort //
对数组逆向排序
sort //对数组排序
natcasesort //
用“自然排序”算法对数组进行不区分大小写字母的排序
natsort //
用“自然排序”算法对数组排序
uasort //
使用用户自定义的比较函数对数组中的值进行排序并保持索引关联
uksort //
使用用户自定义的比较函数对数组中的键名进行排序
usort //
使用用户自定义的比较函数对数组中的值进行排序
1.2.利用数组
1.2.1.单个数组范围内的操作
/**数组键值 之 【返回数组】**/
array_change_key_case //返回字符串键名大写或者小写
array_flip //交换数组的键和值
array_keys //返回数组中所有的键名
array_values //返回数组中所有的值
array_column //返回数组中指定的一列
array_reverse //反转数组
array_unique //移除数组中重复的值
/**数组键值 之 【返回其它】**/
array_count_values //统计数组中所有的值出现的次数
array_key_exists = key_exists //检查给定的键名或索引是否存在与数组中
array_product //计算数组中所有值的乘积
array_sum //计算数组中所有值的和
array_reduce //
用回调函数迭代地将数组简化为单一的值
array_search //在数组中搜素给定的值,成功返回相应的键名
count = sizeof //计算数组中的单元数目或者对象中的属性个数
current=pos //返回数组中的当前单元
in_array //检查数组中是否存在某个值
key //返回当前关联数组的键名
/**应用回调**/
array_filter //用回调函数过滤数组中的单元
array_map //返回将回调函数作用到给定的数组的单元上的数组
array_walk //使用用户自定义的函数对数组中每个元素做回调处理
array_walk_recursive //使用用户自定义的函数对数组每个元素做回调(递归)
/**数组分割与填充**/
array_chunk //将数组分割成指定大小的多个数组
array_rand //从数组中随机取出一个或多个单元
array_fill //用给定的值填充数组
array_pad //用值将数组填补到指定长度
/**强大的其它**/
list //
把数组中的值赋给一些变量
extract //从数组中将变量导入到当前的符号表
1.2.2.数组之间的操作
/**数组 差**/
array_diff_assoc //带索引检查计算数组(值和键)的差集
array_diff_key //带索引检索计算数组 键的差集
array_diff_uassoc //
用用户提供的回调函数做索引检查来计算数组的差集
array_diff_ukey //
用回调函数对键名比较计算数组的差集
array_diff //计算数组之间的差值(非索引)
/**数组 交**/
array_intersect_assoc //带索引计算数组的交集(键名和值同时用于比较)
array_intersect_key //使用键名比较数组的交集
array_intersect_uassoc //带索引检查计算数组的交集,用回调函数比较索引
array_intersect_ukey //
用回调函数比较键名来计算数组的交集
array_intersect //计算数组的交集(非索引)
/**数组 并**/
array_merge_recursive //递归的合并一个或多个数组
array_merge //合并一个或多个数组
/**填充和替换**/
array_replace //
使用传递的数组替换第一个数组的元素
array_replace_recursive //
使用传递的数组替换第一个数组的元素(递归方式)
array_splice //
把数组中的一部分去掉并用其它值取代
array_fill_keys //使用指定键和值填充数组
array_combine //用一个数组的元素作为键名,另个作为值