Como remover um elemento de um array no PHP?
A remoção de elementos de um array no PHP pode ser feita de diferentes maneiras, dependendo se o array é numérico ou associativo. As funções mais utilizadas para essa tarefa são unset()
, array_splice()
e array_diff()
.
Removendo um elemento com unset()
A função unset()
remove um item do array, mas mantém a estrutura original do índice:
<?php
$numeros = [10, 20, 30, 40];
unset($numeros[1]);
print_r($numeros);
?>
Saída:
Array ( [0] => 10 [2] => 30 [3] => 40 )
O índice 1
foi removido, mas os outros índices permanecem inalterados.
Removendo um elemento e reindexando com array_splice()
Se quisermos remover um item e reorganizar os índices, usamos array_splice()
:
<?php
$numeros = [10, 20, 30, 40];
array_splice($numeros, 1, 1);
print_r($numeros);
?>
Saída:
Array ( [0] => 10 [1] => 30 [2] => 40 )
Aqui, o índice foi corrigido automaticamente após a remoção.
Removendo um valor específico com array_diff()
Se quisermos remover um valor específico sem nos preocupar com índices, usamos array_diff()
:
<?php
$numeros = [10, 20, 30, 40];
$numeros = array_diff($numeros, [20]);
print_r($numeros);
?>
Saída:
Array ( [0] => 10 [2] => 30 [3] => 40 )
Aqui, todos os elementos iguais a 20
foram removidos sem precisar saber a chave.
Quando usar unset(), array_splice() e array_diff() no PHP?
Remover elementos de arrays no PHP é uma operação comum quando lidamos com listas dinâmicas, como registros de banco de dados e carrinhos de compras. Dependendo do caso, unset()
é ideal para exclusões simples, enquanto array_splice()
reorganiza os índices automaticamente. Já array_diff()
é útil quando queremos remover elementos sem nos preocupar com suas posições.
Algumas aplicações:
- Remoção de itens em carrinhos de compras
- Filtragem de elementos indesejados em listas
- Exclusão de registros duplicados ou inválidos
- Manipulação de dados dinâmicos vindos de formulários
Dicas para quem está começando
- Use
unset()
para remover um item sem reindexar o array. - Se precisar corrigir os índices após a remoção, prefira
array_splice()
. - Quando precisar remover valores específicos sem saber o índice,
array_diff()
é a melhor escolha. - Se estiver manipulando arrays associativos,
unset()
mantém as chaves intactas. - Teste sempre a saída do array após a remoção para garantir que os dados foram manipulados corretamente.
Contribuições de Daniel Moreira