php array_slice() 函数

PHP array_slice() 函数

PHP Array 函数

定义和用法:array_slice() 函数在数组中根据条件取出一段值,并返回.

注释:如果数组有字符串键,所返回的数组将保留键名,参见例子 4.

语法:array_slice(array,offset,length,preserve)

参数 描述

array 必需,规定输入的数组.

offset 必需,数值,规定取出元素的开始位置,如果是正数,则从前往后开始取,如果是负值,从后向前取 offset 绝对值.

length 可选,数值,规定被返回数组的长度,如果是负数,则从后向前,选取该值绝对值数目的元素,如果未设置该值,则返回所有元素.

preserve 可选,可能的值:true - 保留键,false - 默认 - 重置键.

PHP实例代码如下:

  1. <?php
  2. /*
  3. 用手册上的例子
  4. */
  5. $input = array ("a", "b", "c", "d", "e");
  6. $output = array_slice ($input, 2); // returns "c", "d", and "e",
  7. $output = array_slice ($input, 2, -1); // returns "c", "d"
  8. $output = array_slice ($input, -2, 1); // returns "d"
  9. $output = array_slice ($input, 0, 3); // returns "a", "b", and "c"
  10. ?>

实例:

  1. <?php
  2. $term = $_REQUEST['q'];
  3. $images = array_slice(scandir("images"), 2);
  4. foreach($images as $value) {
  5. if( strpos(strtolower($value), $term) === 0 ) {
  6. echo $value . " ";
  7. }
  8. }
  9. ?>
  10. <?php
  11. // split the given array into n number of pieces
  12. function array_split($array, $pieces=2)
  13. {
  14. if ($pieces < 2)
  15. return array($array);
  16. $newCount = ceil(count($array)/$pieces);
  17. $a = array_slice($array, 0, $newCount);
  18. $b = array_split(array_slice($array, $newCount), $pieces-1);
  19. return array_merge(array($a),$b);
  20. }
  21. // Examples:
  22. $a = array(1,2,3,4,5,6,7,8,9,10);
  23. array_split($a, 2); // array(array(1,2,3,4,5), array(6,7,8,9,10))
  24. array_split($a, 3); // array(array(1,2,3,4), array(5,6,7), array
  25. (8,9,10))
  26. array_split($a, 4); // array(array(1,2,3), array(4,5,6), array(7,8),
  27. //开源代码phpfensi.com
  28. array(9,10))
  29. ?>