[email protected]   15826058953
B2B外贸网站建设与运营,WEB服务器运维,始于2016。

使用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);