使用array_splice()函数在数组的指定位置插入(添加)或删除元素
2020-07-05 重庆LiSEO工作室
语法:array_splice($arr,str2,str3,str4):
$arr:第一个参数:要处理数组
str2:第二个参数:表示要删除数组元素的开始位置
str3:第三个参数(可选):表示要删除数组元素的个数,0:表示不删除,1:删除一个,如果不填,则表示从开始位置一直删除到最后一个
str4:第四个参数(可选):表示要添加的元素(可以是单个字符串,也可以是数组)
//两个参数 $arr=array('张三','李四','王五','赵六','洪七','朱重八'); print_r($arr); echo "\n<br>-----------11111-------------<br>\n"; //输出:Array ( [0] => 王五 [1] => 赵六 [2] => 洪七 [3] => 朱重八 ) print_r(array_splice($arr,2)); //返回被删除数组元素的值 echo "\n<br>------------22222------------<br>\n"; //输出:Array ( [0] => 张三 [1] => 李四 ) print_r($arr); //删除之后的数组的内容 echo "\n<br>------------000000000000000000000------------<br>\n"; unset($arr); //销毁数组。 //三个参数 $arr=array('张三','李四','王五','赵六','洪七','朱重八'); print_r($arr); echo "\n<br>-----------11111-------------<br>\n"; //输出:Array ( [0] => 王五 [1] => 赵六 [2] => 洪七 ) print_r(array_splice($arr,2,3)); //返回被删除数组元素的值 echo "\n<br>------------22222------------<br>\n"; //输出:Array ( [0] => 张三 [1] => 李四 [2] => 朱重八 ) print_r($arr); //删除之后的数组的内容 unset($arr); echo "\n<br>------------111111111111111111111111------------<br>\n"; //三个参数,当第三个参数为0 $arr=array('张三','李四','王五','赵六','洪七','朱重八'); print_r($arr); echo "\n<br>-----------11111-------------<br>\n"; //输出:Array ( ) print_r(array_splice($arr,2,0)); //返回被删除数组元素的值 echo "\n<br>------------22222------------<br>\n"; //输出:Array ( [0] => 张三 [1] => 李四 [2] => 王五 [3] => 赵六 [4] => 洪七 [5] => 朱重八 ) print_r($arr); //删除之后的数组的内容 unset($arr); echo "\n<br>------------22222222222222222222222222222------------<br>\n"; //三个参数,删除最后一个元素 $arr=array('张三','李四','王五','赵六','洪七','朱重八'); print_r($arr); echo "\n<br>-----------11111-------------<br>\n"; //输出:Array ( [0] => 朱重八 ) print_r(array_splice($arr,5,1)); //返回被删除数组元素的值 echo "\n<br>------------22222------------<br>\n"; //输出:Array ( [0] => 张三 [1] => 李四 [2] => 王五 [3] => 赵六 [4] => 洪七 ) print_r($arr); //删除之后的数组的内容 unset($arr); echo "\n<br>------------333333333333333333333333------------<br>\n"; //四个参数,不删除元素,但是要在指定的位置添加新的元素 $arr=array('张三','李四','王五','赵六','洪七','朱重八'); print_r($arr); echo "\n<br>-----------11111-------------<br>\n"; //输出:Array ( ) print_r(array_splice($arr,6,0,'老九门')); //返回被删除数组元素的值,并且添加上新的元素 echo "\n<br>------------22222------------<br>\n"; //输出:Array ( [0] => 张三 [1] => 李四 [2] => 王五 [3] => 赵六 [4] => 洪七 [5] => 朱重八 [6] => 老九门 ) print_r($arr); unset($arr); echo "\n<br>------------4444444444444444444444444------------<br>\n"; //四个参数,不删除元素,但是要在指定的位置添加新的元素 $arr=array('张三','李四','王五','赵六','洪七','朱重八'); print_r($arr); echo "\n<br>-----------11111-------------<br>\n"; //输出:Array ( [0] => 朱重八 ) print_r(array_splice($arr,5,1,'老九门')); //返回被删除数组元素的值,并且添加上新的元素 echo "\n<br>------------22222------------<br>\n"; //输出:Array ( [0] => 张三 [1] => 李四 [2] => 王五 [3] => 赵六 [4] => 洪七 [5] => 老九门 ) print_r($arr); unset($arr); echo "\n<br>------------5555555555555555555555555------------<br>\n"; //四个参数,不删除元素,但是要在指定的位置添加新的元素 $arr=array('张三','李四','王五','赵六','洪七','朱重八'); print_r($arr); echo "\n<br>-----------11111-------------<br>\n"; $newarray=array('李彦宏','马云'); //输出:Array ( [0] => 朱重八 ) print_r(array_splice($arr,5,1,$newarray)); //返回被删除数组元素的值,并且添加上新的元素 echo "\n<br>------------22222------------<br>\n"; //输出:Array ( [0] => 张三 [1] => 李四 [2] => 王五 [3] => 赵六 [4] => 洪七 [5] => 李彦宏 [6] => 马云 ) print_r($arr); unset($arr); echo "\n<br>------------666666666666666666666666666666666------------<br>\n"; //关联(自定义)数组 //四个参数,不删除元素,但是要在指定的位置添加新的元素 $arr=array( '张三'=>'重庆', '李四'=>'北京', '王五'=>'成都', '赵六'=>'天津', '洪七'=>'上海', '朱重八'=>'广州', ); print_r($arr); echo "\n<br>-----------11111-------------<br>\n"; //输出:Array ( [洪七] => 上海 ) print_r(array_splice($arr,4,1,'老九门')); //返回被删除数组元素的值,并且添加上新的元素 echo "\n<br>------------22222------------<br>\n"; //输出:Array ( [张三] => 重庆 [李四] => 北京 [王五] => 成都 [赵六] => 天津 [0] => 老九门 [朱重八] => 广州 ) print_r($arr); unset($arr); unset($newarray); echo "\n<br>------------777777777777777777777777------------<br>\n"; //关联(自定义)数组 //四个参数,不删除元素,但是要在指定的位置添加新的元素 $arr=array( '张三'=>'重庆', '李四'=>'北京', '王五'=>'成都', '赵六'=>'天津', '洪七'=>'上海', '朱重八'=>'广州', ); print_r($arr); echo "\n<br>-----------11111-------------<br>\n"; $newarray=array('喜欢看'=>'老九门'); //输出:Array ( [洪七] => 上海 [朱重八] => 广州 ) print_r(array_splice($arr,4,2,$newarray)); //返回被删除数组元素的值,并且添加上新的元素 echo "\n<br>------------22222------------<br>\n"; //输出:Array ( [张三] => 重庆 [李四] => 北京 [王五] => 成都 [赵六] => 天津 [0] => 老九门 ) print_r($arr); unset($arr); unset($newarray); echo "\n<br>------------888888888888888888888888------------<br>\n"; //关联(自定义)数组 //四个参数,不删除元素,但是要在指定的位置添加新的元素 $arr=array( '张三'=>'重庆', '李四'=>'北京', '王五'=>'成都', '赵六'=>'天津', '洪七'=>'上海', '朱重八'=>'广州', ); print_r($arr); echo "\n<br>-----------11111-------------<br>\n"; //输出:Array ( [洪七] => 上海 [朱重八] => 广州 ) print_r(array_splice($arr,4,2,array("喜欢看"=>"老九门"))); //在添加自定义键数组元素时,不会保留元素的键。 echo "\n<br>------------22222------------<br>\n"; //输出Array ( [张三] => 重庆 [李四] => 北京 [王五] => 成都 [赵六] => 天津 [0] => 老九门 ) print_r($arr);