Executar Array Eliminar por Valor Não Chave em PHP
-
Utilize a função
array_search()eunset()para executar o Array Delete por valor e não por chave em PHP -
Utilize o
array_diff()Função para executar a exclusão de array por valor, mas não por chave, em PHP
Este artigo irá introduzir diferentes métodos para remover valor de um array em PHP.
Utilize a função array_search() e unset() para executar o Array Delete por valor e não por chave em PHP
O principal procedimento para executar a eliminação de array por valor, mas não uma chave, é encontrar primeiro o valor. Poderíamos apagar o valor depois de o encontrarmos. Encontraremos o valor utilizando a função array_search() e apagá-lo utilizando a função unset(). A função unset() redefine uma variável. A sintaxe correcta para utilizar estas funções é a seguinte.
Sintaxe da função array_search()
array_search($value, $array, $strict);
A função integrada array_search() tem três parâmetros. Os detalhes dos seus parâmetros são os seguintes
| Parâmetros | Descrição | |
|---|---|---|
$value |
obrigatório | É o valor que queremos pesquisar no array. |
$array |
obrigatório | É a matriz em que pesquisaremos o valor dado. |
$strict |
opcional | Se este parâmetro for definido para “VERDADEIRO”, então a função também pesquisará os elementos idênticos no array. |
Esta função retorna a chave do fornecido.
Sintaxe de unset()
unset($variable1, $variable2, ..., $variableN);
A função embutida unset() tem múltiplos parâmetros. Os detalhes dos seus parâmetros são os seguintes
| Parâmetros | Descrição | |
|---|---|---|
$variable1, $variable2, $variableN |
obrigatório | É a variável ou estrutura de dados que queremos desajustar. Pelo menos uma variável é obrigatória. |
Esta função não retorna nada.
Exemplo de remoção de valores de um Array em PHP
O programa abaixo mostra como podemos utilizar estas funções para executar a eliminação de array por valor, mas não por chave, em PHP.
<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Daffodil","Daisy");
echo("Array before deletion: \n");
var_dump($array);
$value = "Jasmine";
if (($key = array_search($value, $array)) !== false) {
unset($array[$key]);
}
echo("Array after deletion: \n");
var_dump($array);
?>
Resultado:
Array before deletion:
array(6) {
[0]=>
string(4) "Rose"
[1]=>
string(4) "Lili"
[2]=>
string(7) "Jasmine"
[3]=>
string(8) "Hibiscus"
[4]=>
string(8) "Daffodil"
[5]=>
string(5) "Daisy"
}
Array after deletion:
array(5) {
[0]=>
string(4) "Rose"
[1]=>
string(4) "Lili"
[3]=>
string(8) "Hibiscus"
[4]=>
string(8) "Daffodil"
[5]=>
string(5) "Daisy"
}
Utilize o array_diff() Função para executar a exclusão de array por valor, mas não por chave, em PHP
Em PHP, também podemos utilizar a função array_diff() para executar a eliminação de array por valor e não por chave. Esta função calcula a diferença de um dado array com outro array. A sintaxe correcta para utilizar esta função é a seguinte.
Sintaxe
array_diff($array, $Arr1, $Arr2, ...,$ArrN);
A função array_diff() aceita parâmetros N+1. O detalhe dos seus parâmetros é o seguinte.
| Parâmetros | Descrição | |
|---|---|---|
$array |
obrigatório | É a matriz principal da qual queremos retirar um valor |
$Arr1, $Arr2, $ArrN |
obrigatório | É o array que queremos remover. A função irá tirar a sua diferença com a matriz e retirá-la do array se ela estiver presente. |
O programa que executa a eliminação do array por valor, mas não a chave, é o seguinte.
<?php
$array = array("Rose","Lili","Jasmine","Hibiscus","Daffodil","Daisy");
echo("Array before deletion: \n");
var_dump($array);
$value = array("Jasmine");
$array = array_diff( $array, $value);
echo("Array after deletion: \n");
var_dump($array);
?>
Resultado:
Array before deletion:
array(6) {
[0]=>
string(4) "Rose"
[1]=>
string(4) "Lili"
[2]=>
string(7) "Jasmine"
[3]=>
string(8) "Hibiscus"
[4]=>
string(8) "Daffodil"
[5]=>
string(5) "Daisy"
}
Array after deletion:
array(5) {
[0]=>
string(4) "Rose"
[1]=>
string(4) "Lili"
[3]=>
string(8) "Hibiscus"
[4]=>
string(8) "Daffodil"
[5]=>
string(5) "Daisy"
}
Artigo relacionado - PHP Array
- Como determinar a primeira e última iteração em um loop de Foreach em PHP
- Como Converter um Array em uma string em PHP
- Como Obter o Primeiro Elemento de um Array em PHP
- Como fazer Eco ou Imprimir um Array em PHP
- Como excluir um elemento de uma array em PHP
- Como remover elementos de vetor vazio em PHP