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. É oarray
cujos 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
é umarray
de 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
)