首页 > php教程 > php手册 > php 删除数组中的元素

php 删除数组中的元素

WBOY
发布: 2016-06-06 20:10:11
原创
1145 人浏览过

删除数组中的元素,第一想法是使用unset函数,它确实可以删除,但是可能会在后面操作该数组的时候出现问题。通过下面的例子来说明: $arr = array(0, 1, 2, 3, 4);$index = 2;unset($arr[$index]);echo count($arr);if (empty($arr[$index])) { echo "arr[$i

删除数组中的元素,第一想法是使用unset函数,它确实可以删除,但是可能会在后面操作该数组的时候出现问题。通过下面的例子来说明:

$arr = array(0, 1, 2, 3, 4);
$index = 2;
unset($arr[$index]);
echo count($arr);
if (empty($arr[$index])) {
    echo "arr[$index] is empty";
}
print_r($arr);
输出为:
4
arr[2] is empty
Array([0] => 0 [1] => 1 [3] => 3 [4] => 4)
登录后复制

从上面的输出结果可以看到数组的长度是正常的,但是下标还是保持原来的,所以按照下标去获取元素就会出问题。另外此方法对key-value形式的数组是安全的。

如何安全的删除元素呢?可以使用array_splice函数。array_splice()的用途是删除原始数组中指定的一系列元素,并用其他值代替(如果指定),返回值是被删除的元素。更多信息可以参考官方文档:http://php.net/manual/zh/function.array-splice.php。例如:

$arr = array(0, 1, 2, 3, 4);
$rtn = array_splice($arr, 2, 1);
echo count($arr);
print_r($arr);
print_r($rtn);
输出为:
4
Array
([0] => 0 [1] => 1 [2] => 3 [3] => 4)
Array([0] => 2)
登录后复制

如果想获取删除首位元素后的数组,则可以有两种方法:

1、
$arr = array(0, 1, 2, 3, 4);
array_splice($arr, 0, 1);
2、
$arr = array(0, 1, 2, 3, 4);
$arr = array_splice($arr, 1);
登录后复制
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门推荐
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板