PHP如何删除Array数组指定key

2021-04-19      11素材网      263     

PHP如何删除Array数组指定key

方法:首先用array_search("key名",array_keys(数组))语句在数组根据指定key名获取对应的键值;然后用“array_splice(数组, 键值, 1)”语句删除指定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;
}

补充说明:

array_search这个函数按照value去搜索,得到位置,如果找不到就返回NULL或false;因此,在按key进行查找key对应的位置时,需要在$keys里去找,这就是调用array_keys的原因。因为array_search这个函数可能返回NULL和false,所以得按绝对比较使用。


TAG 指定key