美文网首页
Php数组函数

Php数组函数

作者: 爱折腾的傻小子 | 来源:发表于2018-10-29 11:04 被阅读10次

array_chunk


array array_chunk ( array $input , int $size [, bool $preserve_keys = false ] )

将一个数组分割成多个数组,其中每个数组的单元数目由 size 决定。最后一个数组的单元数目可能会少于 size 个。



测试:


array_slice


array array_slice ( array $array , int $offset [, int $length = NULL [, bool $preserve_keys = false ]] )

从数组中取出一段 | 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列
array_chunk的反向操作,参看文档


--

array_column


array array_column ( array $input, mixed $column_key [, mixed $index_key ])

array_combine


//> 返回的数组类型:索引数组 | 混合数组 | 关联数组
array array_combine ( array $keys, array $values)

创建一个数组,用一个数组的值作为其键名,另一个数组的值作为其值

array_count_values


array array_count_values ( array $input )

一个数组,该数组用 input 数组中的值作为键名,该值在 input 数组中出现的次数作为值
$input 需要的是一个索引数组
测试:


可见:array_count_values在处理数组时,判断的是值,不管该数组是什么类型的数组( 关联数组 | 索引数组 | 混合数组 )

--

array_fill


array_fill (int $start_index, int $num, mixed $value)

用 value 参数的值将一个数组填充 num 个条目,键名由 start_index 参数指定的开始
具体用法,查看文档,填充的数据比较固定。


我们知道$value可以是一个混合类型的值,这里测试的是数组,被当作整体插入;那么对象应该也是会被当作整体。

array_fill_keys

array array_fill_keys( array $keys, mixed $value )

使用 value 参数的值作为值,使用 keys 数组的值作为键来填充一个数组
使用该函数,我们可以指定自己的键生成指定的数组


--

array_filter

array array_filter ( array $array [,callback [,int $falg = 0]] )

依次将 array 数组中的每个值传递到 callback 函数。如果 callback 函数返回 TRUE,则 input 数组的当前值会被包含在返回的结果数组中。数组的键名保留不变。


可见:array_filter默认第三个参数是0,表示callback获取的参数只是需要过滤参数的值,如果第三个参数该为1,可以获取

array_flip

array array_flip( array $trans )

交换数组中的键和值


--

shuffle()


bool shuffle ( array &$array)

将数组打乱(这的数组,采用的是引用赋值)


shuffle 函数,对关联数组好像一律当作索引数组处理,处理后的原来的键不会存在

array_rand


mixed array_rand ( array $input [, $num_req = 1] )

从数组中取出一个或多个随机的单元,并返回随机条目的一个或多个


array_reduce

/* 示例1 */
function rsum($v, $w){
    var_dump( $v );
    var_dump( $w );
    $v += $w;
    return $v;
}

$a = array(1, 2, 3, 4, 5);

$b = array_reduce($a, "rsum");

var_dump( $b );

/* 打印结果 */
/*
NULL
int(1)
int(1)
int(2)
int(3)
int(3)
int(6)
int(4)
int(10)
int(5)
int(15)
*/

//> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

/* 示例2 */
function rsum($v, $w){
    var_dump( $v );
    var_dump( $w );
    $v += $w;
    return $v;
}

$a = array(1, 2, 3, 4, 5);

$b = array_reduce($a, "rsum",10);

var_dump( $b );

/* 打印结果 */
/*
int(10)
int(1)
int(11)
int(2)
int(13)
int(3)
int(16)
int(4)
int(20)
int(5)
int(25)
*/

相关文章

网友评论

      本文标题:Php数组函数

      本文链接:https://www.haomeiwen.com/subject/mspmbttx.html