如果我們知道數組元素的名字這個就好辦了
按鍵名來刪除數組中指定數組元素
| 代碼如下 |
複製代碼 |
$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); |