php中数组切片和数组拼接函数解析
本文主要介绍了服务器端编程语言(专业超文本预处理器的缩写)中数组切片和数组拼接函数,感兴趣的可以围观一下,
数组切片和数组拼接函数是用在取出数组的一段切片,数组拼接还有用新的切片替换原删除切片位置的功能。类似爪哇岛描述语言中的数组。原型。拼接和数组。原型。切片方法。
数组切片
array_slice (array $array,int $offset [,int $length=NULL [,bool $preserve_keys=false ])返回数组中指定下标抵消和长度长度的子数组切片。
参数说明设第一个参数数组的长度为num_in。
抵消
如果抵消是正数且小于长度,则返回数组会从抵消开始;如果抵消大于长度,则不操作,直接返回。如果抵消是负数,则偏移量=num_in偏移量,如果num_in偏移量==0,则将抵消设为0。
长度
如果长度小于0,那么会将长度转为num_in偏移长度;否则,如果偏移量长度数组计数,则长度=偏移量。如果处理后长度还是小于0,则直接返回。
保留密钥
默认是假的,默认不保留数字键值原顺序,设为真实的的话会保留数组原来的数字键值顺序。
使用实例
?php$input=array('a ',' b ',' c ',' d ',' e ');$output=array_slice($input,2);//返回c ',' d '和e'$output=array_slice($input,-2,1);//返回d'$output=array_slice($input,0,3);//返回a ',' b '和c'print_r(array_slice($input,2,-1));//数组(0='c ',1=' d ');print_r(array_slice($input,2,-1,true));//数组(2='c ',1=' d ');运行步骤
处理参数:偏移量、长度移动指针到抵消指向的位置从抵消开始,拷贝长度个元素到返回数组运行流程图如下
数组拼接
array array_splice (array $input,int $offset [,int $length=0 [,mixed $replacement=array() ])删除投入中从抵消开始长度个元素,如果有更换参数的话用更换数组替换删除掉的元素。
参数说明
数组拼接函数中的抵消和长度参数跟数组切片函数中的用法一样。
更换
如果这个参数设置了,那么函数将使用更换数组来替换。如果抵消和长度指定了没有任何元素需要移除,那么更换会被插入到抵消的位置。如果更换只有一个元素,可以不用数组()去包着它。使用示例
?php$input=array('红色','绿色','蓝色','黄色');array_splice($input,2);//$输入变为数组('红色','绿色)$input=array('红色','绿色','蓝色','黄色');array_splice($input,1,-1);//$输入变为数组('红色','黄色)$input=array('红色','绿色','蓝色','黄色');array_splice($input,1,count($input),' orange ';//$输入变为数组('红色','橙色)$input=array('红色','绿色','蓝色','黄色');array_splice($input,-1,1,array('black ',' maroon '));//$输入为数组('红色','绿色',//'蓝色','黑色','栗色)$input=数组('红色','绿色','蓝色','黄色');array_splice($input,3,0 ')紫色');//$输入为数组('红色','绿色',//'蓝色','紫色','黄色');源码解读
在数组拼接中,有这么一段代码:
/*如果删除的元素不会被使用,不要创建它的数组;例如,仅移除和/或替换元素*/if(return _ value _ used){//如果使用了函数返回值,则创建一个返回数组;否则,不要创建返回数组int size=length/*夹紧偏移.*/if(offset num _ in){ offset=num _ in;} else if(offset 0(offset=(num _ in offset))0){ offset=0;} /* .和长度*/if(长度0){ size=num _ in-offset length;} else if(((无符号长)偏移量(无符号长)长度)(无符号)num _ in){ size=num _ in-offset;} /*初始化返回值*/array_init_size(返回值,大小0?尺寸: 0);rem _ hash=Z _ ARRVAL _ P(return _ value);}array_splice函数返回删除的切片。这段代码意味着如果array_splice需要返回值,就创建返回数组,否则不创建,以免浪费空间。这也是一个编程技巧,只在需要的时候返回。例如,如果$ result=array _ split(.)在函数中使用,则return_value_used为真。
摘要
到本文最后,在平时的编程中,我们应该先处理最特殊的情况,然后再继续,以免做出多余的判断;需要保存新变量的时候申请新空间,否则会造成浪费。
感谢您的阅读,希望对大家有所帮助,感谢您对本网站的支持!
版权声明:php中数组切片和数组拼接函数解析是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。