Como excluir um elemento de uma array em PHP
-
Utilize
unset()Função para excluir um elemento de um array em PHP -
Utilize
array_splice()Function to Delete an Element From an Array in PHP -
Use a função
array_diff()para excluir um elemento de um array em PHP
Neste artigo, vamos introduzir métodos para excluir um elemento de uma confusão em PHP.
- Utilizando a função
unset() - Utilizando a função
array_splice() - Utilizando a função
array_diff()
Utilize unset() Função para excluir um elemento de um array em PHP
A função integrada unset() é utilizada para apagar o valor armazenado em uma variável. Ela só é aplicável às variáveis locais. Ela não reflete seu comportamento em variáveis globais. Podemos utilizar esta função para excluir um elemento de uma array. A sintaxe correta para utilizar esta função é a seguinte
unset($variableName);
Ele tem um único parâmetro obrigatório. A variável cujo valor desejamos excluir é passada como parâmetro para esta função.
<?php
//Declare the array
$flowers = array(
"Rose",
"Lili",
"Jasmine",
"Hibiscus",
"Tulip",
"Sun Flower",
"Daffodil",
"Daisy");
unset($flowers[1]);
echo "The array is:\n";
print_r($flowers);
?>
Esta função pode apagar um valor de cada vez. O nome do array junto com o índice do elemento ($flowers[1]) é passado como um parâmetro. Esta função não altera os valores do índice. Os valores do índice permanecem os mesmos que eram antes.
Resultado:
The array is:
Array
(
[0] => Rose
[2] => Jasmine
[3] => Hibiscus
[4] => Tulip
[5] => Sun Flower
[6] => Daffodil
[7] => Daisy
)
Como você pode ver, o índice 1 está faltando após aplicarmos a função unset.
Utilize array_splice() Function to Delete an Element From an Array in PHP
A função array_splice() é utilizada para adicionar elementos a um array ou excluir elementos de um array. A sintaxe correta para utilizar esta função é a seguinte
array_splice($arrayName, $startingIndex, $numOfElements, $array2Name);
Ela tem quatro parâmetros.
$arrayNameé um parâmetro obrigatório. É oarraycujos elementos serão deletados.$startingIndexé o índice do elemento que desejamos excluir.$numOfElementsé o número de elementos que desejamos excluir do índice inicial.$array2Nameé umarrayde elementos que desejamos adicionar.
$numOfElements e $array2Name são opcionais.
<?php
//Declare the array
$flowers = array(
"Rose",
"Lili",
"Jasmine",
"Hibiscus",
"Tulip",
"Sun Flower",
"Daffodil",
"Daisy");
array_splice($flowers, 4, 3);
echo "The array is:\n";
print_r($flowers);
?>
O array $flowers é passado como parâmetro para esta função junto com o índice inicial 4 e o número de elementos que desejamos excluir-3. Desta forma, podemos excluir vários elementos de uma array.
Resultado:
The array is:
Array
(
[0] => Rose
[1] => Lili
[2] => Jasmine
[3] => Hibiscus
[4] => Daisy
)
Diferente da função unset, a função array_splice irá automaticamente reindexar as chaves.
Daisy tem o novo índice como 4, mas não o índice original - 7, depois que apagamos três elementos antes dele.
Use a função array_diff()para excluir um elemento de um array em PHP
A função integrada array_diff() encontra a diferença entre dois ou mais arrays. Ela pode ser utilizada para excluir vários valores de uma arrays sem afetar seus índices. A sintaxe correta para utilizar esta função é a seguinte
array_diff($array1, $array2, $array3, ... , $arrayN);
É necessário o número N de arrays como parâmetro. Ele compara a primeira array com todas as outras arrays e retorna uma array que contém todos os elementos da primeira array que não estão presentes em outras arrays.
<?php
//Declare the array
$flowers = array(
"Rose",
"Lili",
"Jasmine",
"Hibiscus",
"Tulip",
"Sun Flower",
"Daffodil",
"Daisy");
$flowers = array_diff($flowers, array("Rose","Lili"));
echo "The array is:\n";
print_r($flowers);
?>
Aqui, o primeiro array que passamos é $flowers e o segundo array contém os elementos que queremos excluir dos $flowers. Esta função não altera os índices dos elementos do array.
Resultado:
The array is:
Array
(
[2] => Jasmine
[3] => Hibiscus
[4] => Tulip
[5] => Sun Flower
[6] => Daffodil
[7] => Daisy
)