Cómo realizar la eliminación de matrices por valor no clave en PHP

Minahil Noor 30 enero 2023
  1. Utiliza la función array_search() y unset() para realizar la eliminación de matrices por valor no clave en PHP
  2. Usar la función array_diff() para realizar la eliminación de matrices por valor no clave en PHP
Cómo realizar la eliminación de matrices por valor no clave en PHP

Este artículo introducirá diferentes métodos para eliminar el valor de un array en PHP.

Utiliza la función array_search() y unset() para realizar la eliminación de matrices por valor no clave en PHP

El procedimiento principal para realizar la eliminación del array por valor, pero no por clave, es encontrar primero el valor. Podríamos borrar el valor después de encontrarlo. Encontraremos el valor usando la función array_search() y lo borraremos usando la función unset(). La función unset() reajusta una variable. La sintaxis correcta para usar estas funciones es la siguiente.

array_search($value, $array, $strict);

La función incorporada array_search() tiene tres parámetros. Los detalles de sus parámetros son los siguientes

Parámetros Descripción
$value obligatorio Es el valor que queremos buscar en el array.
$array obligatorio Es el array en la que buscaremos el valor dado.
$strict opcional Si este parámetro se establece como True, entonces la función también buscará los elementos idénticos en el array.

Esta función devuelve la clave del valor dado.

La sintaxis de unset()

unset($variable1, $variable2, ..., $variableN);

La función incorporada unset() tiene múltiples parámetros. Los detalles de sus parámetros son los siguientes

Parámetros Descripción
$variable1, $variable2, $variableN obligatorio Es la variable o estructura de datos que queremos desestabilizar. Al menos una variable es obligatoria.

Esta función no devuelve nada.

Ejemplo de eliminación de valores de un array en PHP

El programa a continuación muestra cómo podemos usar estas funciones para realizar la eliminación de matrices por valor, pero no por clave, en 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"
}

Usar la función array_diff() para realizar la eliminación de matrices por valor no clave en PHP

En PHP, también podemos usar la función array_diff() para realizar la eliminación de matrices por valor no clave. Esta función calcula la diferencia de un array dada con otra array. La sintaxis correcta para usar esta función es la siguiente.

Sintaxis

array_diff($array, $Arr1, $Arr2, ...,$ArrN);

La función array_diff() acepta parámetros N+1. El detalle de sus parámetros es el siguiente.

Parámetros Descripción
$array obligatorio Es el array principal de la que queremos eliminar un valor
$Arr1, $Arr2, $ArrN obligatorio Es el array que queremos eliminar. La función tomará su diferencia con el array y la quitará del array si está presente.

El programa que realiza el borrado del array por valor, pero no por clave, es el siguiente.

<?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"
}

Artículo relacionado - PHP Array