删除值为1的数组索引
array (1=>1,2=>2,3=>1,4=>1,5=>3,6=>1);
结果数组为
array(2=>2,5=>3);
在php中有直接的功能吗?像
unset(key($a,1));
答案 0 :(得分:2)
$myArray = array (1=>1,2=>2,3=>1,4=>1,5=>3,6=>1);
$myArray = array_filter(
$myArray,
function($value) {
return $value !== 1;
}
);
答案 1 :(得分:2)
使用array_diff
作为
$your_array = array_diff ( $your_array, [1] );
答案 2 :(得分:0)
循环浏览,检查并取消设置 -
foreach($array as $k => $v) {
if($v == 1) {
unset($array[$k]);
}
}
或使用array_filter()
$newArr = array_filter($array, function($v) {
return ($v != 1);
});
或者您可以使用array_flip()
获取某些技巧 -
$temp = array_flip($array);
unset($temp[1]);
$array = array_flip($temp);
答案 3 :(得分:0)
您也可以使用array_flip
并使用以下代码:
<?php
$arr = array(1=>1,2=>2,3=>1,4=>1,5=>3,6=>1);
$arr1 = array_flip($arr);
unset($arr1[1]);
$arr = array_flip($arr1);
print_r($arr);
?>
答案 4 :(得分:0)
使用array_search()并取消设置,请尝试以下操作:
while(($key = array_search(1, $array)) !== false) {
unset($array[$key]);
}