时间:2021-07-01 10:21:17 帮助过:27人阅读
现将我写的完整版代码附下:
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,所以得按绝对比较,使用!==
参考:
php官方文档:http://www.php100.com/cover/php/189.html
欢迎大家加入PHP CodeIgniter社区群:460132647 备注:yanzi
以上就介绍了PHP删除Array数组里指定的key(完整版,已封装成函数,附测试代码),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。