Heim > Artikel > Backend-Entwicklung > So entfernen Sie Elemente aus einem PHP-Array
Methoden zum Entfernen von Elementen aus PHP-Arrays: 1. Array-Elemente durch „unset($array[1]);“ entfernen; 2. Array-Elemente durch „array_splice($array, 1, 1);“ entfernen.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Einführung
PHP-Array ist, um es klar auszudrücken, ein zugeordneter Satz von Schlüssel-Wert-Paaren. Wie entferne ich also Elemente aus Array-Elementen? Sie müssen zunächst daran denken, das Array zu durchlaufen, dann das Zielelement zu finden und es dann zu löschen.
Ich habe gesehen, dass einige Schüler das zu löschende Element = null setzen, was nicht funktioniert, da null auch als Wert existiert. Elemente können nicht entfernt werden.
In diesem Artikel geht es speziell um das Entfernen von Array-Elementen.
Lernzeit
Grob gesagt gibt es zwei gängige Methoden zum Entfernen von Array-Elementen: eine ist die unset-Funktion und die andere ist die array_splice-Funktion.
array_splice Wann verwenden? Das heißt, Sie erhalten den Wert, kennen aber seinen Index nicht und müssen diesen verwenden.
Unset-Funktion
Bitte beachten Sie, dass durch die Verwendung der Unset-Funktion der Index nicht neu erstellt und das Array nicht gemischt wird. Wenn Sie den Index nach dem Löschen eines Elements neu erstellen möchten, führen Sie array_values aus und das zurückgegebene Array wird neu indiziert. Und alle Indizes sind standardmäßig auf Zahlen eingestellt, die bei 0 beginnen.
Beispiel:
$array = [0 => "a", 1 => "b", 2 => "c"]; unset($array[1]);
Nachdem dieser Vorgang ausgeführt wurde, lautet der Wert des Arrays $array wie folgt:
[ [0] => a [2] => c ]
Sie können feststellen, dass sich der Array-Index nicht geändert hat.
[Empfohlenes Lernen: PHP-Video-Tutorial]
Array_Splice-Funktion
Nach dem Entfernen von Elementen ändert sich die entsprechende Beziehung des assoziativen Arrays nicht. Die Parameterform dieser Funktion:
array array_splice( array &$input, int $offset[, int $length = 0[, mixed $replacement]] )
wird zum Konvertieren verwendet Array Entfernen Sie einige davon und ersetzen Sie sie durch andere Werte. Wenn die letzte Parameterersetzung nicht übergeben wird, beginnt sie standardmäßig mit dem Offset. Wenn es sich um einen numerischen Index handelt, wird das zurückgegebene Array neu indiziert:
$array = [0 => "a", 1 => "b", 2 => "c"]; array_splice($array, 1, 1);
Zurückgegebener Wert:
[ [0] => a [1] => c ]
Sie können sehen, dass der Index erneuert wurde -nummeriert.
Gehen Sie noch einen Schritt weiter
Die beiden oben genannten Beispiele sind beide Löschungen einzelner Elemente. Lassen Sie uns über das Entfernen mehrerer Array-Elemente sprechen.
unset / arraysplice ist zu umständlich zu verwenden, Sie müssen es einzeln bedienen. Wenn wir den Schlüssel oder Wert des Array-Elements kennen, können wir array_diff / array_diff_key verwenden, um Stapeloperationen durchzuführen.
array_diff-Funktion
Wenn beispielsweise der Wert des zu löschenden Elements bekannt ist, kann es wie folgt entfernt werden:
$array = [0 => 2 => " c"];
$array = array_diff($array, ["a", "c"]);
<br/>
Ergebnisausgabe:
[ [1] => b ]
Der Index des Arrays wird nicht rekonstruiert.
Array_diff_keys-Funktion
Wenn der Index des zu löschenden Elements bekannt ist, kann es wie folgt gelöscht werden:
$array = [0 => "a", 1 => "b", 2 => "c"]; $array = array_diff_key($array, [0 => "xy", "2" => "xy"]);
Ausgabe nach der Ausführung:
[ [1] => b ]
Der Index wird nicht neu erstellt.
Am Ende geschrieben
In diesem Artikel zeigen wir anhand mehrerer Beispiele, wie man Elemente aus einem Array entfernt. Gehen Sie nicht mit einer for-Schleife um die Welt. PHP bietet viele funktionale Tools, die zur Reduzierung redundanten Codes hilfreich sind, und wir sollten sie verwenden.
Das obige ist der detaillierte Inhalt vonSo entfernen Sie Elemente aus einem PHP-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!