Wie löscht man ein Element aus einem Array in PHP

Minahil Noor 30 Januar 2023
  1. Verwendung der Funktion unset() zum Löschen eines Elements aus einem Array in PHP
  2. Verwendung der Funktion array_splice() zum Löschen eines Elements aus einem Array in PHP
  3. Verwendung der Funktion array_diff() zum Löschen eines Elements aus einem Array in PHP
Wie löscht man ein Element aus einem Array in PHP

In diesem Artikel werden wir Methoden zum Löschen eines Elements aus einem Array in PHP vorstellen.

  • Verwendung der Funktion unset()
  • Verwendung der Funktion array_splice()
  • Verwendung der Funktion array_diff()

Verwendung der Funktion unset() zum Löschen eines Elements aus einem Array in PHP

Die eingebaute Funktion unset() wird verwendet, um den in einer Variablen gespeicherten Wert zu löschen. Sie ist nur auf die lokalen Variablen anwendbar. Sie spiegelt nicht ihr Verhalten auf globale Variablen wider. Wir können diese Funktion verwenden, um ein Element aus einem Array zu löschen. Die korrekte Syntax zur Verwendung dieser Funktion lautet wie folgt

unset($variableName);

Es hat einen einzigen obligatorischen Parameter. Die Variable, deren Wert wir löschen möchten, wird als Parameter an diese Funktion übergeben.

<?php
//Declare the array
$flowers = array(
                "Rose",
                "Lili",
                "Jasmine",
                "Hibiscus",
                "Tulip",
                "Sun Flower",
                "Daffodil",
                "Daisy");

unset($flowers[1]);
echo "The array is:\n";
print_r($flowers);
?>

Diese Funktion kann jeweils einen Wert auf einmal löschen. Der Name des Arrays zusammen mit dem Elementindex ($flowers[1]) wird als Parameter übergeben. Diese Funktion ändert die Indexwerte nicht. Die Indexwerte bleiben die gleichen wie zuvor.

Ausgabe:

The array is:
Array
(
    [0] => Rose
    [2] => Jasmine
    [3] => Hibiscus
    [4] => Tulip
    [5] => Sun Flower
    [6] => Daffodil
    [7] => Daisy
)

Wie Sie sehen konnten, fehlt der Index 1, nachdem wir die Funktion unset angewendet haben.

Verwendung der Funktion array_splice() zum Löschen eines Elements aus einem Array in PHP

Die Funktion array_splice() wird verwendet, um Elemente zu einem Array hinzuzufügen oder Elemente aus einem Array zu löschen. Die korrekte Syntax zur Verwendung dieser Funktion lautet wie folgt

array_splice($arrayName, $startingIndex, $numOfElements, $array2Name);

Sie hat vier Parameter.

  1. $arrayName ist ein obligatorischer Parameter. Es ist das Array, dessen Elemente gelöscht werden.
  2. $startingIndex ist der Index des Elements, das wir löschen wollen.
  3. $numOfElements ist die Anzahl der Elemente, die wir aus dem Startindex löschen wollen.
  4. $array2Name ist ein Array von Elementen, die wir hinzufügen wollen.

$numOfElements und $array2Name sind optional.

<?php
//Declare the array
$flowers = array(
                "Rose",
                "Lili",
                "Jasmine",
                "Hibiscus",
                "Tulip",
                "Sun Flower",
                "Daffodil",
                "Daisy");

array_splice($flowers, 4, 3);
echo "The array is:\n";
print_r($flowers);
?>

Das Array $flowers wird als Parameter an diese Funktion übergeben, zusammen mit dem Startindex 4 und der Anzahl der Elemente, die wir löschen wollen - 3. Auf diese Weise können wir mehrere Elemente aus einem Array löschen.

Ausgabe:

The array is:
Array
(
    [0] => Rose
    [1] => Lili
    [2] => Jasmine
    [3] => Hibiscus
    [4] => Daisy
)
Anmerkung:

Anders als bei der Funktion unset werden bei der Funktion array_splice die Schlüssel automatisch neu indiziert.

Daisy hat den neuen Index als 4, aber nicht den ursprünglichen Index - 7, nachdem wir drei Elemente davor gelöscht haben.

Verwendung der Funktion array_diff() zum Löschen eines Elements aus einem Array in PHP

Die eingebaute Funktion array_diff() findet den Unterschied zwischen zwei oder mehr arrays. Sie kann verwendet werden, um mehrere Werte aus einem Array zu löschen, ohne deren Indexe zu beeinflussen. Die korrekte Syntax zur Verwendung dieser Funktion lautet wie folgt

array_diff($array1, $array2, $array3, ... , $arrayN);

Es nimmt N Anzahl von arrays als Parameter. Es vergleicht das erste Array mit allen anderen Arrays und gibt ein Array zurück, das alle Elemente des ersten Arrays enthält, die in anderen Arrays nicht vorhanden sind.

<?php
//Declare the array
$flowers = array(
                "Rose",
                "Lili",
                "Jasmine",
                "Hibiscus",
                "Tulip",
                "Sun Flower",
                "Daffodil",
                "Daisy");

$flowers = array_diff($flowers, array("Rose","Lili"));
echo "The array is:\n";
print_r($flowers);
?>

Hier ist das erste Array, das wir übergeben haben, $flowers und das zweite Array enthält die Elemente, die wir aus $flowers löschen wollen. Diese Funktion ändert nicht die Indizes der Elemente des Arrays.

Ausgabe:

The array is:
Array
(
    [2] => Jasmine
    [3] => Hibiscus
    [4] => Tulip
    [5] => Sun Flower
    [6] => Daffodil
    [7] => Daisy
)

Verwandter Artikel - PHP Array