PHP刪除Array數組裡指定的key(完整版,已封裝成函數,附測試代碼)
問題背景:array裡一般是key---value的儲存方式,我們有時候需要刪除指定的key及對應的value。但是不知道為啥,那麼多文章都是在講知道value,並刪除該value的事情,差點誤導我。
現將我寫的完整版代碼附下:
function array_remove($data, $key){ if(!array_key_exists($key, $data)){ return $data; } $keys = array_keys($data); $index = array_search($key, $keys); if($index !== FALSE){ array_splice($data, $index, 1); } return $data;}$data = array('name'=>'apple','age'=>12,'address'=>'ChinaGuangZhou');$result = array_remove($data, 'name');var_dump($result);
補充說明:
1,其實問題出在array_search這個函數上,這個函數按照value去搜尋,得到位置,如果找不到就返回NULL或false;
2,因此,在按key進行尋找key對應的位置時,需要在$keys裡去找,這就是調用array_keys的原因
3,因為array_search這個函數可能返回NULL和false,所以得按絕對比較,使用!==
http://www.bkjia.com/PHPjc/1073357.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1073357.htmlTechArticlePHP刪除Array數組裡指定的key(完整版,已封裝成函數,附測試代碼) 問題背景:array裡一般是key---value的儲存方式,我們有時候需要刪除...