我做了这个简单的函数(从 $array 中删除所有 $elem):
function remall($array, $elem) {
for($i=0; $i < count($array); $i++)
if($array[$i] == $elem)
unset($array[$i]);
$newarray = array_values($array);
return $newarray;
}
但它并不完美,这里有一些输入和输出
$u = array(1, 7, 2, 7, 3, 7, 4, 7, 5, 7, 6, 7);
$r = remall($u, 7);
Output of $r: 12345767
$n = array(7, 7, 1, 7, 3, 4, 6, 7, 2, 3, 1, -3, 10, 11, 7, 7, 7, 2, 7);
$r = remall($n, 7);
Output of $r: 1346231-30117727
请注意我的输出中仍然有 7。此外,我的函数只会从数组中删除数字。如果你发现了什么,请告诉我,谢谢。
解决方案:嘿伙计们,这对我有用(感谢 Flavius Stef)
function remall($array, $elem) {
return array_values(array_diff($array, array($elem)));
}