php刪除陣列指定鍵的方法

2020-07-16 10:06:22

php刪除陣列指定鍵的方法:首先建立一個PHP程式碼範例檔案;然後定義一個「array_remove」方法;最後利用「array_key_exists」、「array_search」等函數實現刪除陣列指定鍵即可。

PHP刪除Array陣列裡指定的key

/**
 * php除陣列指定的key值(直接刪除key值實現)
 * @param unknown $data
 * @param unknown $key
 * @return unknown
 */
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;
 
}
 
/**
 * php除陣列指定的key值(通過直接重新組裝一個陣列)
 * @param unknown $data
 * @param unknown $key
 * @return unknown
 */
function array_remove1($data,$delKey) {
$newArray = array();
if(is_array($data)) {
foreach($data as $key => $value) {
if($key !== $delKey) {
$newArray[$key] = $value;
}
}
}else {
$newArray = $data;
}
return $newArray;
}
 
$data = array('apple','address','ChinaGuangZhou');
$result = array_remove($data, 'name');
$result1 = array_remove1($data, 'name');
print_r($result);
print_r($result1);

補充說明:

1,其實問題出在array_search這個函數上,這個函數按照value去搜尋,得到位置,如果找不到就返回NULL或false;

2,因此,在按key進行查詢key對應的位置時,需要在$keys裡去找,這就是呼叫array_keys的原因

3,因為array_search這個函數可能返回NULL和false,所以得按絕對比較,使用!

更多相關知識,請存取PHP中文網

以上就是php刪除陣列指定鍵的方法的詳細內容,更多請關注TW511.COM其它相關文章!