PHP array_splice()与array_slice()函数

2024-03-19 01:48
文章标签 函数 php array slice splice

本文主要是介绍PHP array_splice()与array_slice()函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

array_aplice()

array_splice() 函数与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。
如果提供了第四个参数,则之前选中的那些元素将被第四个参数指定的数组取代。
最后生成的数组将会返回。

参数:

array_splice(array,offset,length,array)

参数列表:

参数描述
array必需。规定数组。
offset必需。数值。如果 offset 为正,则从输入数组中该值指定的偏移量开始移除。如果 offset 为负,则从输入数组末尾倒数该值指定的偏移量开始移除。
length可选。数值。如果省略该参数,则移除数组中从 offset 到 结尾的所有部分。如果指定了 length 并且为正值,则移除这么多元素。如果指定了 length 且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的元素。
array被移除的元素由此数组中的元素替代。如果没有移除任何值,则此数组中的元素将插入到指定位置。

For example:

$var=array('cat','dog','flash','pig','monkey');
$var2=array('Horse','bird');array_splice($var,0,2,$var2);
print_r($var);
output: Array ( [0] => Horse [1] => Bird [2] => pig [3] => flash [4] => monkey ) 

还是上面的那个例子:

$var=array('cat','dog','flash','pig','monkey');
$var2=array('Horse','bird');print_r(array_splice($var,0,2,$var2));

output:

Array ( [0] => cat [1] => dog ) 

做为array_splice()函数,它还有另外一种作用,那就是删除数组中指定的元素,实例如下:


假如我想删除数组中的”dog”;

$var=array('cat','dog','flash','pig','monkey');
array_splice($var,1,1);
print_r($var);

output:

Array ( [0] => cat [1] => flash [2] => pig [3] => monkey ) 

讲到这里让我想起了,unset()函数;

$var=array('cat','dog','flash','pig','monkey');
unset($var[1]);
print_r($var);

output:

Array ( [0] => cat [2] => flash [3] => pig [4] => monkey ) 
由此可见array_splice()在释放数组指定元素上与unset()函数取到相同作用;

array_slice()函数

讲到array_splice(),在此有必要讲一下array_slice()函数,它们看上去好相像,只差一个P字;


定义与用法:

array_slice()函数根据条件在数组中取一段值,并返回;
注意:如果数组中有字符串键,所返回的数组将保留键名;


语法:
array_slice(array,start,length,preserve);

参数列表:

参数描述
array必需。规定数组。
start必需。数值。规定取出元素的开始位置。 0 = 第一个元素。如果该值设置为正数,则从前往后开始取。如果该值设置为负数,则从后向前取 start 绝对值。 -2 意味着从数组的倒数第二个元素开始。
length可选。数值。规定被返回数组的长度。如果该值设置为整数,则返回该数量的元素。如果该值设置为负数,则函数将在举例数组末端这么远的地方终止取出。如果该值未设置,则返回从 start 参数设置的位置开始直到数组末端的所有元素。
preserve可选。规定函数是保留键名还是重置键名。可能的值:true - 保留键名;false - 默认。重置键名

For example:

    //取值$a=array('red','green','blue','yellow','brown');print_r(array_slice($a,1));echo "<p>";//取值后,重置键值print_r(array_slice($a,1,2));echo "<p>";//保留键值print_r(array_slice($a,1,2,true));echo "<p>";//有字符串键,返回时保留键名$b=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow","e"=>"brown");print_r(array_slice($b,1));echo "<p>";//截段取值print_r(array_slice($b,1,2));echo "<p>";//注意:如果是数字键,返回时,将不会保留原来的键值$c=array(1=>"red",2=>"green",3=>"blue",4=>"yellow",5=>"brown");print_r(array_slice($c,1));

output:

Array ( [0] => green [1] => blue [2] => yellow [3] => brown ) Array ( [0] => green [1] => blue ) Array ( [1] => green [2] => blue ) Array ( [b] => green [c] => blue [d] => yellow [e] => brown ) Array ( [b] => green [c] => blue ) Array ( [0] => green [1] => blue [2] => yellow [3] => brown ) 

这篇关于PHP array_splice()与array_slice()函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/824411

相关文章

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

MySQL中FIND_IN_SET函数与INSTR函数用法解析

《MySQL中FIND_IN_SET函数与INSTR函数用法解析》:本文主要介绍MySQL中FIND_IN_SET函数与INSTR函数用法解析,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一... 目录一、功能定义与语法1、FIND_IN_SET函数2、INSTR函数二、本质区别对比三、实际场景案例分

C++ Sort函数使用场景分析

《C++Sort函数使用场景分析》sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变,如果某些场景需要保持相同元素间的相对顺序,可使... 目录C++ Sort函数详解一、sort函数调用的两种方式二、sort函数使用场景三、sort函数排序

C语言函数递归实际应用举例详解

《C语言函数递归实际应用举例详解》程序调用自身的编程技巧称为递归,递归做为一种算法在程序设计语言中广泛应用,:本文主要介绍C语言函数递归实际应用举例的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录前言一、递归的概念与思想二、递归的限制条件 三、递归的实际应用举例(一)求 n 的阶乘(二)顺序打印

C/C++错误信息处理的常见方法及函数

《C/C++错误信息处理的常见方法及函数》C/C++是两种广泛使用的编程语言,特别是在系统编程、嵌入式开发以及高性能计算领域,:本文主要介绍C/C++错误信息处理的常见方法及函数,文中通过代码介绍... 目录前言1. errno 和 perror()示例:2. strerror()示例:3. perror(

Kotlin 作用域函数apply、let、run、with、also使用指南

《Kotlin作用域函数apply、let、run、with、also使用指南》在Kotlin开发中,作用域函数(ScopeFunctions)是一组能让代码更简洁、更函数式的高阶函数,本文将... 目录一、引言:为什么需要作用域函数?二、作用域函China编程数详解1. apply:对象配置的 “流式构建器”最

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

C++中::SHCreateDirectoryEx函数使用方法

《C++中::SHCreateDirectoryEx函数使用方法》::SHCreateDirectoryEx用于创建多级目录,类似于mkdir-p命令,本文主要介绍了C++中::SHCreateDir... 目录1. 函数原型与依赖项2. 基本使用示例示例 1:创建单层目录示例 2:创建多级目录3. 关键注