PHP中unset,array_splice删除数组中元素的区别

 更新时间:2014年07月28日 15:03:17   投稿:mdxy-dxy  
php中删除数组元素是非常的简单的,但有时删除数组需要对索引进行一些排序要求我们会使用到相关的函数,这里我们来介绍使用unset,array_splice删除数组中的元素区别吧

如果要在某个数组中删除一个元素,可以直接用的unset,但是数组的索引不会重排:

<?php 
$arr = array('a','b','c','d');
unset($arr[1]);
print_r($arr);
?>


结果是:

Array ( [0] => a [2] => c [3] => d )
 
那么怎么才能做到缺少的元素会被填补并且数组会被重新索引呢?答案是array_splice():

<?php 
$arr = array('a','b','c','d'); 
array_splice($arr,1,1); 
print_r($arr); 
?>

结果是:

Array ( [0] => a [1] => c [2] => d )
 
删除数组中特定元素

<?php
$arr2 = array(1,3, 5,7,8);
foreach ($arr2 as $key=>$value)
{
  if ($value === 3)
    unset($arr2[$key]);
}
var_dump($arr2);
?> 

补充删除空数组

实例:

<?php
  $array = ('a' => "abc", 'b' => "bcd",'c' =>"cde",'d' =>"def",'e'=>"");
  array_filter($array);
  echo "<pre>";
  print_r($array);
?>


结果:

Array (
     [a] => abc
     [b] => bcd
     [c] => cde
    [d] => def
)

总结
 

array_splice()函数删除的话,数组的索引值也变化了。
unset()函数删除的话,数组的索引值没有变化。

相关文章

  • php session的锁和并发

    php session的锁和并发

    这篇文章主要介绍了php session的锁和并发,与之相关的现象有请求阻塞、session数据丢失、session数据读不到的问题,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • 延长phpmyadmin登录时间的方法

    延长phpmyadmin登录时间的方法

    新安装的phpmyadmin默认是cookie模式,如果闲置十几分钟不操作的话,就会要求重新登录。
    2011-02-02
  • PHP中替换键名的简易方法示例详解

    PHP中替换键名的简易方法示例详解

    默认输出的时候,将数据库字段名作为数组的键名进行输出,但带有键名的数据不能够满足未知情况下的操作,下面为大家介绍个不错的方法可以解决这个问题
    2014-01-01
  • PHP使用imagick扩展实现合并图像的方法

    PHP使用imagick扩展实现合并图像的方法

    这篇文章主要介绍了PHP使用imagick扩展实现合并图像的方法,结合实例形式分析了php基于imagick扩展处理图片的具体步骤与相关操作技巧,需要的朋友可以参考下
    2017-04-04
  • php导入csv文件碰到乱码问题的解决方法

    php导入csv文件碰到乱码问题的解决方法

    这篇文章主要介绍了php导入csv文件碰到乱码问题的解决方法,需要的朋友可以参考下
    2014-02-02
  • PHP获取访问页面HTTP状态码的实现代码

    PHP获取访问页面HTTP状态码的实现代码

    这篇文章主要介绍了一个PHP获取访问页面HTTP状态的再封装函数,需要的朋友可以参考下
    2016-11-11
  • php 数组二分法查找函数代码

    php 数组二分法查找函数代码

    search函数 其中$array为数组,$k为要找的值,$low为查找范围的最小键值,$high为查找范围的最大键值
    2010-02-02
  • PHP抽象类与接口的区别详解

    PHP抽象类与接口的区别详解

    今天小编就为大家分享一篇关于PHP抽象类与接口的区别详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • 用PHP的反射实现委托模式的讲解

    用PHP的反射实现委托模式的讲解

    今天小编就为大家分享一篇关于用PHP的反射实现委托模式的讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • PHP实现简单聊天室(附源码)

    PHP实现简单聊天室(附源码)

    本篇文章是对PHP实现聊天室的源代码进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论