当前位置:首页 > PHP教程 > php数组 > 列表

php删除数组元素方法总结

发布:smiling 来源: PHP粉丝网  添加日期:2014-03-10 13:16:33 浏览: 评论:0 

php开发时我们经常会碰到要删除数组中指定指定内容,但数组是特殊变量我们不能直接利用replace进行替换的,需要一些方法来操作,下面我来给大家介绍操作办法.

如果我们知道数组元素的名字这个就好办了
按键名来删除数组中指定数组元素

实例代码如下:

  1. $barray = array('a'=>1,'b'=>2,'wod'=>3,'c'=>4,'abc'=>5); 
  2. $del ='b'
  3. unset($barray[$del]);//结果为 
  4.  
  5. Array 
  6.     [a] => 1 
  7.     [wod] => 3 
  8.     [c] => 4 
  9.     [abc] => 5 

如果有多个数组要同时删除,上面办法是解决不了,我们可以利用array_diff函数来操作

实例代码如下:

  1. $a1=array("Cat","Dog","Horse",'dff','dfdf','www'); 
  2. $a2=array("dff","Horse","Dog"); 
  3. $a1 = array_diff($a1,$a2); 
  4. sort($a1); 
  5. print_r($a1); 
  6. Array 
  7.     [0] => Cat 
  8.     [1] => dfdf 
  9.     [2] => www 

array_search() 函数与 in_array() 一样,在数组中查找一个键值.如果找到了该值,匹配元素的键名会被返回.如果没找到,则返回 false

实例代码如下:

  1. $array = array('1''2''3''4''5'); 
  2. $del_value = 3; 
  3. unset($array[array_search($del_value , $array)]);//利用unset删除这个元素 
  4. print_r($array); 
  5. 输出 
  6. array('1''2''4''5'); 

array_filter()

调用方式:array_filter($array)

参数说明:$array 是操作的对象,我们将删除其中的空元素

实例代码如下:

  1. <?php 
  2.     $array = ('a' => "abc"'b' => "bcd",'c' =>"cde",'d' =>"def",'e'=>""); 
  3.     array_filter($array); 
  4.     echo "<pre>"
  5.     print_r($array); 
  6. ?> 

结果:

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

上面人方法删除的都会不会重建索引的,下面我来给大家介绍一个删除数组元素并重建数组索引的方法

实例代码如下:

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

Tags: replace

分享到: