PHP删除Array数组里指定的key

来源:互联网 发布:闲鱼 淘宝二手ipad 编辑:程序博客网 时间:2024/05/01 14:35
/** * 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,所以得按绝对比较,使用!==


0 0
原创粉丝点击