Wie man Array-Löschen nach Wert und nicht nach Schlüssel in PHP durchführt

Minahil Noor 30 Januar 2023
  1. Verwenden Sie die Funktionen array_search() und unset(), um in PHP eine Array-Löschung nach Wert und nicht nach Schlüssel durchzuführen
  2. Verwenden Sie die Funktion array_diff(), um Array-Löschen nach Wert, nicht nach Schlüssel, in PHP durchzuführen
Wie man Array-Löschen nach Wert und nicht nach Schlüssel in PHP durchführt

Dieser Artikel stellt verschiedene Methoden zum Entfernen von Werten aus einem Array in PHP vor.

Verwenden Sie die Funktionen array_search() und unset(), um in PHP eine Array-Löschung nach Wert und nicht nach Schlüssel durchzuführen

Das Hauptverfahren zum Löschen eines Arrays nach Wert, aber nicht nach Schlüssel, besteht darin, zuerst den Wert zu finden. Wir könnten den Wert löschen, nachdem er gefunden wurde. Wir werden den Wert mit der Funktion array_search() finden und ihn mit der Funktion unset() löschen. Die Funktion unset() setzt eine Variable zurück. Die korrekte Syntax zur Verwendung dieser Funktionen lautet wie folgt.

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

Die eingebaute Funktion array_search() hat drei Parameter. Die Einzelheiten ihrer Parameter sind wie folgt

Parameter Beschreibung
$value obligatorisch Es ist der Wert, den wir in dem Array suchen wollen.
$array obligatorisch Es ist das Feld, in dem wir den angegebenen Wert suchen werden.
$strict optional Wenn dieser Parameter auf True gesetzt ist, dann wird die Funktion auch die identischen Elemente im Array suchen.

Diese Funktion gibt den Schlüssel des angegebenen Wertes zurück.

Syntax von unset()

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

Die eingebaute Funktion unset() hat mehrere Parameter. Die Einzelheiten ihrer Parameter sind wie folgt

Parameter Beschreibung
$variable1, $variable2, $variableN obligatorisch Es ist die Variable oder Datenstruktur, die wir aufheben wollen. Mindestens eine Variable ist obligatorisch.

Diese Funktion gibt nichts zurück.

Beispiel für das Entfernen von Werten aus einem Array in PHP

Das folgende Programm zeigt, wie wir diese Funktionen verwenden können, um in PHP Array-Löschen nach Wert, aber nicht nach Schlüssel durchzuführen.

<?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);
?>

Ausgabe:

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

Verwenden Sie die Funktion array_diff(), um Array-Löschen nach Wert, nicht nach Schlüssel, in PHP durchzuführen

In PHP können wir auch die Funktion array_diff() verwenden, um das Löschen von Arrays nach Wert und nicht nach Schlüssel durchzuführen. Diese Funktion berechnet die Differenz eines gegebenen Arrays mit einem anderen Array. Die korrekte Syntax zur Verwendung dieser Funktion lautet wie folgt.

Syntax

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

Die Funktion array_diff() akzeptiert N+1 Parameter. Die Einzelheiten ihrer Parameter sind wie folgt.

Parameter Beschreibung
$array obligatorisch Es ist das Hauptarray, aus dem wir einen Wert entfernen wollen
$Arr1, $Arr2, $ArrN obligatorisch Es ist das Array, das wir entfernen wollen. Die Funktion nimmt seine Differenz mit dem Array und entfernt es aus dem Array, wenn es vorhanden ist.

Das Programm, das die Array-Löschung nach Wert, aber nicht nach Schlüssel durchführt, ist wie folgt.

<?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);
?>

Ausgabe:

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

Verwandter Artikel - PHP Array