php删除数组元素方法总结
php开发时我们经常会碰到要删除数组中指定指定内容,但数组是特殊变量我们不能直接利用replace进行替换的,需要一些方法来操作,下面我来给大家介绍操作办法.
如果我们知道数组元素的名字这个就好办了
按键名来删除数组中指定数组元素
实例代码如下:
- $barray = array('a'=>1,'b'=>2,'wod'=>3,'c'=>4,'abc'=>5);
 - $del ='b';
 - unset($barray[$del]);//结果为
 - Array
 - (
 - [a] => 1
 - [wod] => 3
 - [c] => 4
 - [abc] => 5
 - )
 
如果有多个数组要同时删除,上面办法是解决不了,我们可以利用array_diff函数来操作
实例代码如下:
- $a1=array("Cat","Dog","Horse",'dff','dfdf','www');
 - $a2=array("dff","Horse","Dog");
 - $a1 = array_diff($a1,$a2);
 - sort($a1);
 - print_r($a1);
 - Array
 - (
 - [0] => Cat
 - [1] => dfdf
 - [2] => www
 - )
 
array_search() 函数与 in_array() 一样,在数组中查找一个键值.如果找到了该值,匹配元素的键名会被返回.如果没找到,则返回 false
实例代码如下:
- $array = array('1', '2', '3', '4', '5');
 - $del_value = 3;
 - unset($array[array_search($del_value , $array)]);//利用unset删除这个元素
 - print_r($array);
 - 输出
 - array('1', '2', '4', '5');
 
array_filter()
调用方式:array_filter($array)
参数说明:$array 是操作的对象,我们将删除其中的空元素
实例代码如下:
- <?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
)
上面人方法删除的都会不会重建索引的,下面我来给大家介绍一个删除数组元素并重建数组索引的方法
实例代码如下:
- function array_remove(&$arr,$offset){
 - array_splice($arr,$offset,1);
 - }
 - $a = array('a','b','c','d');
 - array_remove($a,2);
 - print_r($a);