博客列表 >PHP数组函数array_slice与array_splice实例演示

PHP数组函数array_slice与array_splice实例演示

大A
大A原创
2020年04月27日 02:53:23765浏览

array_slice

定义

返回数组中的选定部分
索引数组会重置键名,关联数组会保留键名

语法

array_slice(array,start,length,preserve)

参数 描述
array 必需。规定数组。
start 必需。数值。规定取出元素的开始位置。 0 = 第一个元素。 如果该值设置为正数,则从前往后开始取。如果该值设置为负数,则从后向前取 start 绝对值。 -2 意味着从数组的倒数第二个元素开始。
length 可选。数值。规定被返回数组的长度。 如果该值设置为整数,则返回该数量的元素。如果该值设置为负数,则函数将在举例数组末端这么远的地方终止取出。如果该值未设置,则返回从 start 参数设置的位置开始直到数组末端的所有元素。
preserve 可选。规定函数是保留键名还是重置键名。可能的值:true - 保留键名 false - 默认。重置键名
  1. $array = ['张三','李四','王五','豆豆','杨杨','小花','小猪'];
  2. //从倒数第4个元素开始取到倒数第2个元素并保留键名
  3. $arr=array_slice($array,-4,-2,true);
  4. printf('<pre>%s</pre><hr>', print_r($arr, true));
  5. -------------------------------
  6. //输出结果
  7. Array
  8. (
  9. [3] => 豆豆
  10. [4] => 杨杨
  11. )

array_splice

定义

从数组中移除选定的元素,并用新元素取代它,函数返回被移除元素的数组
如果函数没有移除任何元素(length=0),则替代数组将从 start 参数的位置插入
不保留替代数组中的键名
原数组是索引数组键名会被重置,原数组是关联数组会保留键名

语法

array_splice(array,start,length,array)

参数 描述
array 必需。规定数组。
start 必需。数值。规定删除元素的开始位置。 0 = 第一个元素。 如果该值设置为正数,则从数组中该值指定的偏移量开始移除。如果该值设置为负数,则从数组末端倒数该值指定的偏移量开始移除。 -2 意味着从数组的倒数第二个元素开始。
length 可选。数值。规定被移除的元素个数,也是被返回数组的长度。 如果该值设置为正数,则移除该数量的元素。如果该值设置为负数,则移除从 start 到数组末端倒数 length 为止中间所有的元素。如果该值未设置,则移除从 start 参数设置的位置开始直到数组末端的所有元素。
array 可选。规定带有要插入原始数组中元素的数组。如果只有一个元素,则可以设置为字符串,不需要设置为数组。

例子

  1. $array1 = ['张三','李四','a1'=>'王五','a2'=>'豆豆','杨杨','小花','a3'=>'小猪'];
  2. $array2=['jim','lili','joke'];
  3. //将array1数组中第3个元素至倒数第2个元素的成员替换成$array2内的元素
  4. $arr=array_splice($array1,3,-1,$array2);
  5. //原数组修改结果
  6. printf('<pre>%s</pre><hr>', print_r($array1, true));
  7. //在原数组中被删除的元素
  8. printf('<pre>%s</pre><hr>', print_r($arr, true));
  9. -------------------------------
  10. //输出结果
  11. Array
  12. (
  13. [0] => 张三
  14. [1] => 李四
  15. [a1] => 王五
  16. [2] => jim
  17. [3] => lili
  18. [4] => joke
  19. [a3] => 小猪
  20. )
  21. Array
  22. (
  23. [a2] => 豆豆
  24. [0] => 杨杨
  25. [1] => 小花
  26. )
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议