Удалить array_values
. Кажется, вы просто хотите удалить одно значение, и unset
уже выполняет свою работу:
function removeFromArray(&$array, $key){
foreach($array as $j=>$i){
if($i == $key){
unset($array[$j]);
return true;
}
}
}
Подробнее о unset
.
Демо
Примечание:
- Код после
return
больше не выполняется, поэтому break
не требуется.
$key
здесь вводит в заблуждение имя переменной. Лучше было бы $value
.
Обновление: Если вы хотите переиндексировать значения массива (если у вас есть числовой массив), вы должны сделать это в два этапа (как unset
не возвращает значение):
unset($array[$j]);
$array = array_values($array);
Демо