array_chunk()和array_splice()函数介绍

来源:互联网 发布:网络侦探杰斯兽 编辑:程序博客网 时间:2024/04/28 14:52

1.array_chunk() 

将一个数组分割成多个数组,其中每个数组的单元数目由 size 决定。最后一个数组的单元数目可能会少几个。得到的数组是一个多维数组中的单元,其索引从零开始。

将可选参数 preserve_keys 设为 TRUE,可以使 PHP 保留输入数组中原来的键名。如果你指定了 FALSE,那每个结果数组将用从零开始的新数字索引。默认值是FALSE。 

例子1:

<?php
$input_array = array('a', 'b', 'c', 'd', 'e');
print_r(array_chunk($input_array, 2));

?>

以上程序输出为:
Array
(
    [0] => Array
        (
            [0] => a
            [1] => b
        )


    [1] => Array
        (
            [0] => c
            [1] => d
        )


    [2] => Array
        (
            [0] => e
        )


)

例子2:

<?php
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow");
print_r(array_chunk($a,2,true));
?>
输出:
Array (
[0] => Array ( [a] => Cat [b] => Dog )
[1] => Array ( [c] => Horse [d] => Cow )
)


2.array_splice()

从数组中取出一段。

array array_slice ( array array, int offset [, int length])
array_slice() 返回根据 offset 和 length 参数所指定的 array 数组中的一段序列。 
如果 offset 为正,则序列将从 array 中的此偏移量开始。如果 offset 为负,则序列将从 array 中距离末端这么远的地方开始。 
如果给出了 length 并且为正,则序列中将具有这么多的单元。如果给出了 length 并且为负,则序列将终止在距离数组末端这么远的地方。如果省略,则序列将从 offset 开始一直到 array 的末端。
注意 array_slice() 将忽略键名,并且是根据单元在数组中的实际位置来计算偏移量和长度的。

<?php
$input = array ("a", "b", "c", "d", "e");
$output = array_slice ($input, 2);      // returns "c", "d", and "e"
$output = array_slice ($input, 2, -1);  // returns "c", "d"
$output = array_slice ($input, -2, 1);  // returns "d"
$output = array_slice ($input, 0, 3);   // returns "a", "b", and "c"
?> 

0 0
原创粉丝点击