php-array_splice
来源:互联网 发布:java分布式开发详解 编辑:程序博客网 时间:2024/06/05 10:36
我们知道,PHP没有提供专门删除一个特定数组元素的方法。但是可以通过unset()函数来完成这种要求,比如下面的程序:
1
<?php
2
3
$arr
=
array
(
'apple'
,
'banana'
,
'cat'
,
'dog'
);
4
5
unset(
$arr
[2]);
6
print_r(
$arr
);
7
8
?>
程序运行结果:
1
Array ( [0] => apple [1] => banana [3] => dog )
但是这种方法的最大缺点是没有重建数组索引,就是说,数组的第三个元素没了。
经过查资料后,原来PHP提供了这个功能,只不过很间接。这个函数是array_splice()。
为了使用方便,我封装成了一个函数,方便大家使用:
01
<?php
02
03
function
array_remove(&
$arr
,
$offset
)
04
{
05
array_splice
(
$arr
,
$offset
, 1);
06
}
07
08
$arr
=
array
(
'apple'
,
'banana'
,
'cat'
,
'dog'
);
09
10
array_remove(
$arr
, 2);
11
print_r(
$arr
);
12
?>
经过测试可以知道,2的位置这个元素被真正的删除了,并且重新建立了索引。
程序运行结果:
1
Array ( [0] => apple [1] => banana [2] => dog )
PHP array_splice() 函数
array_splice() 函数与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替。如果提供了第四个参数,则之前选中的那些元素将被第四个参数指定的数组取代。
最后生成的数组将会返回。
语法:array_splice(array,offset,length,array)
- array:必需。规定数组。
- offset:必需。数值。如果 offset 为正,则从输入数组中该值指定的偏移量开始移除。如果 offset 为负,则从输入数组末尾倒数该值指定的偏移量开始移除。
- length:可选。数值。如果省略该参数,则移除数组中从 offset 到 结尾的所有部分。如果指定了 length 并且为正值,则移除这么多元素。如果指定了 length 且为负值,则移除从 offset 到数组末尾倒数 length 为止中间所有的元素。
- array:被移除的元素由此数组中的元素替代。如果没有移除任何值,则此数组中的元素将插入到指定位置。
如果函数没有删除任何元素 (length=0),则替代数组将从 start 参数的位置插入。
示例1:
1
<?php
2
$a1
=
array
(0=>
"Dog"
,1=>
"Cat"
,2=>
"Horse"
,3=>
"Bird"
);
3
$a2
=
array
(0=>
"Tiger"
,1=>
"Lion"
);
4
array_splice
(
$a1
,0,2,
$a2
);
5
print_r(
$a1
);
6
?>
7
//output : Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird )
示例2:
1
<?php
2
$a1
=
array
(0=>
"Dog"
,1=>
"Cat"
,2=>
"Horse"
,3=>
"Bird"
);
3
$a2
=
array
(0=>
"Tiger"
,1=>
"Lion"
);
4
print_r(
array_splice
(
$a1
,0,2,
$a2
));
5
?>
6
//output : Array ( [0] => Dog [1] => Cat )
示例3:
1
<?php
2
// length 参数设置为 0
3
$a1
=
array
(0=>
"Dog"
,1=>
"Cat"
);
4
$a2
=
array
(0=>
"Tiger"
,1=>
"Lion"
);
5
array_splice
(
$a1
,1,0,
$a2
);
6
print_r(
$a1
);
7
?>
8
//output : Array ( [0] => Dog [1] => Tiger [2] => Lion [3] => Cat )
0 0
- php-array_splice
- array_splice.php
- PHP array_splice() 函数
- php 函数 array_splice
- php array_splice 用法总结
- php unset和array_splice区别
- php函数-- array_pop() 和array_splice()
- PHP array_splice()与array_slice()函数
- PHP Array unset() array_values() array_search() array_splice()
- array_splice()函数
- 【php】php中array_splice()函数获取数组中连续的一段记录
- PHP删除数组元素的具体函数介绍: count 与 array_splice
- 如何删除PHP数组中的元素,并且索引重排(unset,array_splice)
- PHP中删除数组中的元素详解(unset,array_splice)数组元素增删汇总
- php中删除数组中的某一个unset和array_splice的区别
- foreach和array_splice的窘迫
- array_chunk()和array_splice()函数介绍
- 删除数组元素 array_splice($a,1,1); //删除第二个元素
- Android开发的学习路线
- <二>UITableViewCell的重用(性能优化)
- 45个android实例源码分享
- 安卓巴士Android开发神贴整理
- 浅谈ThreadPool 线程池
- php-array_splice
- android bluetooth开发基础(精典!)
- 黑帽SEO技术之各种站群技术篇
- 几何+点与线段的位置关系+二分(POJ2318)
- 让EasyUI的DataGrid直接内嵌的JSON对象,并重写formload方法
- android adb shell 命令大全
- struts2学习中遇到的问题1
- const,宏和内敛的使用
- 傅里叶分析之掐死教程(完整版)