根据数组的值删除元素
有更好的办法,欢迎大家评论哈
//示例数组
$arr = [123,345,456,789];
//1. 循环,取得key,unset,这种最好理解
foreach($arr as $k => $v) {
if($v == '123') {
unset($arr[$k]);
}
}
//2. array_flip,交换键值位置,删除后,再次反转一下
$arr = array_flip($arr);
unset($arr['123']);
$arr = array_flip($arr);
print_r($arr);
//3. array_search,搜索得到key
if($k = array_search(789, $arr)) {
unset($arr[$k]);
}
//4. array_diff,差集, 可以删多个,推荐
array_diff($arr, [456]);
最后提醒:
需要去重,或者重置键的,得还可以用 array_values , array_merge , array_unique 处理,具体可以自己测试
本作品采用《CC 协议》,转载必须注明作者和本文链接