HOWTO · PHP
Wie man Array-Löschen nach Wert und nicht nach Schlüssel in PHP durchführt
Dieser Artikel führt ein, wie man in PHP das Löschen von Arrays nach Wert und nicht nach Schlüssel durchführt. Er enthält die array_search()-Funktion, die unset()-Funktion und die array_diff()-Funktion.
Auf dieser Seite
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.
Syntax von array_search()
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"
}