首頁 >後端開發 >PHP問題 >php刪除陣列指定鍵的方法

php刪除陣列指定鍵的方法

藏色散人
藏色散人原創
2020-07-08 09:12:433622瀏覽

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

php刪除陣列指定鍵的方法

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刪除陣列指定鍵的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn