刪除那些數組索引,其值是1如何通過在PHP中的值刪除數組索引?
array (1=>1,2=>2,3=>1,4=>1,5=>3,6=>1);
結果陣列
array(2=>2,5=>3);
是有在PHP的直接函數?像
unset(key($a,1));
刪除那些數組索引,其值是1如何通過在PHP中的值刪除數組索引?
array (1=>1,2=>2,3=>1,4=>1,5=>3,6=>1);
結果陣列
array(2=>2,5=>3);
是有在PHP的直接函數?像
unset(key($a,1));
一個襯墊,使用array_diff
as
$your_array = array_diff ($your_array, [1]);
遍歷它,檢查和取消 -
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);
外觀使用array_filter()
$myArray = array (1=>1,2=>2,3=>1,4=>1,5=>3,6=>1);
$myArray = array_filter(
$myArray,
function($value) {
return $value !== 1;
}
);
您還可以使用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);
?>
使用array_search()和取消,請嘗試以下操作:
while(($key = array_search(1, $array)) !== false) {
unset($array[$key]);
}
您的回答給出錯誤**「解析錯誤:語法錯誤,第7行出現意外的T_FUNCTION」**。 – FatalError
它工作正常。 @FatalError –
@FatalError - 你使用的是什麼版本的PHP?我猜測<5.3.0 - [Demo](http://3v4l.org/MOvZD)或許你應該升級到受支持版本的PHP –