+ -
当前位置:首页 → 问答吧 → PHP删除特定数组内容并且重建数组索引的方法

PHP删除特定数组内容并且重建数组索引的方法

时间:2011-03-24

来源:互联网

转:李惟

PHP删除特定数组内容并且重建数组索引的方法.





我们知道.PHP没有提供专门删除一个特定数组元素的方法.

但是可以通过unset()函数来完成.
  1. •$a = array('a','b','c','d');  
  2. •unset($a[2]);  
  3. •print_r($a);
复制代码
但是这种方法的最大缺点是没有重建数组索引.

经过查资料后.原来PHP提供了这个功能.只不过很间接..

这个函数是array_splice.

为了使用方便.我封装成了一个函数.方便大家使用.
  1. •function array_remove(&$arr,$offset){  
  2. •    array_splice($arr,$offset,1);  
  3. •}  
  4. •$a = array('a','b','c','d');  
  5. •array_remove($a,2);  
  6. •print_r($a);
复制代码
经过测试可以知道.2的位置这个元素被真正的删除了.并且重新建立了索引.

作者: so_brave   发布时间: 2011-03-24

实际应用过程中,很少这样用,如果是Key-value数组,直接unset($array[$key]),不需要重建索引。

而数值索引,一般都需要按值删除,也用不到索引。直接foreach

作者: ws00377531   发布时间: 2011-03-24