-
12月14日
-
【函数功能】
该函数在数组中根据条件取出一段值,并返回。
【函数语法】
array_slice (array $array, $offset, $length = null, $preserve_keys = null)
【参数说明】
$array 必需。规定数组。 $offset 必需。数值。规定取出元素的开始位置。 0 = 第一个元素。
如果该值设置为正数,则从前往后开始取。
如果该值设置为负数,则从后向前取 start 绝对值。 -2 意味着从数组的倒数第二个元素开始。
$length 可选。数值。规定被返回数组的长度。
如果该值设置为整数,则返回该数量的元素。
如果该值设置为负数,则函数将在举例数组末端这么远的地方终止取出。
如果该值未设置,则返回从 start 参数设置的位置开始直到数组末端的所有元素。
$preserve_keys 可选。规定函数是保留键名还是重置键名。可能的值:
- true - 保留键名
- false - 默认。重置键名(仅在数值型键值下重置,若字符串键,则保留)
【演示程序】
<?php /** * array_slice (array $array, $offset, $length = null, $preserve_keys = null) * **/ $array = array('site_name'=>'PHP1234','site_url'=>'php1234.cn','site_auth'=>'明礼馨德'); var_dump(array_slice($array, 1)); echo '<br>'; var_dump(array_slice($array, -1)); echo '<br>'; var_dump(array_slice($array, 1,1)); echo '<br>'; var_dump(array_slice($array, 1,-1)); echo '<br>'; var_dump(array_slice($array, -2,-1)); ?>
【输出结果】
array(2) { ["site_url"]=> string(10) "php1234.cn" ["site_auth"]=> string(12) "明礼馨德" } array(1) { ["site_auth"]=> string(12) "明礼馨德" } array(1) { ["site_url"]=> string(10) "php1234.cn" } array(1) { ["site_url"]=> string(10) "php1234.cn" } array(1) { ["site_url"]=> string(10) "php1234.cn" }
【特别注意】
1.如果数组有字符串键,所返回的数组将保留键名。 2.PHP 版本:4+。 3.更新日志:在 PHP 5.0.2 中新增了 preserve 参数。
【原版定义】
/** * Extract a slice of the array * @link http://www.php.net/manual/en/function.array-slice.php * @param array array <p> * The input array. * </p> * @param offset int <p> * If offset is non-negative, the sequence will * start at that offset in the array. If * offset is negative, the sequence will * start that far from the end of the array. * </p> * @param length int[optional] <p> * If length is given and is positive, then * the sequence will have up to that many elements in it. If the array * is shorter than the length, then only the * available array elements will be present. If * length is given and is negative then the * sequence will stop that many elements from the end of the * array. If it is omitted, then the sequence will have everything * from offset up until the end of the * array. * </p> * @param preserve_keys bool[optional] <p> * Note that array_slice will reorder and reset the * numeric array indices by default. You can change this behaviour by setting * preserve_keys to true. * </p> * @return array the slice. */
转载请注明出处:php1234.cn ,原文地址:http://php1234.cn/a/functions/2016/1214/163.html