Executar Array Eliminar por Valor Não Chave em PHP

Minahil Noor 30 janeiro 2023
  1. Utilize a função array_search() e unset() para executar o Array Delete por valor e não por chave em PHP
  2. Utilize o array_diff() Função para executar a exclusão de array por valor, mas não por chave, em PHP
Executar Array Eliminar por Valor Não 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.

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