在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
)
例2
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);