如果要在某個(gè)數(shù)組中刪除一個(gè)元素,可以直接用的unset,但今天看到的東西卻讓我大吃一驚 復(fù)制代碼 代碼如下: <?php $arr = array('a','b','c','d'); unset($arr[1]); print_r($arr); ?> print_r($arr)之后,結(jié)果卻不是那樣的,最終結(jié)果是 Array ( [0] => a [2] => c [3] => d ) 那么怎么才能做到缺少的元素會(huì)被填補(bǔ)并且數(shù)組會(huì)被重新索引呢?答案是 array_splice(): 復(fù)制代碼 代碼如下: <?php $arr = array('a','b','c','d'); array_splice($arr,1,1); print_r($arr); ?> print_r($arr)之后,結(jié)果是A(www.jb51.net)rray ( [0] => a [1] => c [2] => d ) 刪除數(shù)組指定元素 array_search()比較實(shí)用 array_search() 函數(shù)與 in_array() 一樣,在數(shù)組中查找一個(gè)鍵值。如果找到了該值,匹配元素的鍵名會(huì)被返回。如果沒(méi)找到,則返回 false 復(fù)制代碼 代碼如下: $array = array('1', '2', '3', '4', '5'); $del_value = 3; unset($array[array_search($del_value , $array)]);//利用unset刪除這個(gè)元素 print_r($array); 輸出 array('1', '2', '4', '5'); 但這種如果要重新索引數(shù)組就需要利用foreach遍歷刪除的數(shù)組之后重新建立一個(gè)數(shù)組這樣也是可以的。 |
|