程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP刪除Array數組裡指定的key(完整版,已封裝成函數,附測試代碼)

PHP刪除Array數組裡指定的key(完整版,已封裝成函數,附測試代碼)

編輯:關於PHP編程

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,所以得按絕對比較,使用!==

 

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved