数组函数array_对键名的影响

对含有不连续数字键名的数组重建索引:

array_values( array $array) : array

一、对键名保持不变的有:

array_filter( array $array[, callable $callback[, int $flag = 0]] ) : array
// flag ARRAY_FILTER_USE_KEY | ARRAY_FILTER_USE_BOTH
// 导致出现不连续的数字键名
array_intersect( array $array1, array $array2 [, array $...] ) : array
//保持在原来$array1中的索引不变
array_intersect_key( array $array1, array $array2[, array $...] ) : array
//键名的交集
array_map( callable $callback, array $array1[, array $...] ) : array
array_unique( array $array[, int $sort_flags = SORT_STRING] ) : array
//注意键名保留不变。
//先将值作为字符串排序,然后对每个值只保留第一个遇到的键名,接着忽略所有后面的键名。
//这并不意味着在未排序的 array 中同一个值的第一个出现的键名会被保留。 

二、重建索引的有:

usort( array &$array, callable $value_compare_func) : bool
//callback ( mixed $a, mixed $b ) : int
//ASC: 在第一个参数小于,等于或大于第二个参数时,相应地返回一个小于,等于或大于 0 的整数。 
//重建数字索引。
array_multisort( array &$array1[, mixed $array1_sort_order = SORT_ASC[, mixed $array1_sort_flags = SORT_REGULAR[, mixed $...]]] ) : bool
//关联(string)键名保持不变,但数字键名会被重新索引。 
//若要保持数字键位置联动,请参考https://www.cnblogs.com/fengliang/p/6193234.html
array_splice( array &$input, int $offset[, int $length = count($input)[, mixed $replacement = array()]] ) : array
//input 中的数字键名不被保留。 

三、根据需要决定是否保留索引:

array_chunk( array $array, int $size[, bool $preserve_keys = false] ) : array
//不管是数字还是非数字键,都根据$preserve_keys决定是否保留索引键。
array_slice( array $array, int $offset[, int $length = NULL[, bool $preserve_keys = false]] ) : array
//非数字键时,一定会保留索引键;数字键时,根据$preserve_keys决定是否保留索引键。
array_reverse( array $array[, bool $preserve_keys = FALSE] ) : array
//preserve_keys 如果设置为 TRUE 会保留数字的键。
//非数字的键则不受这个设置的影响,总是会被保留。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值