Wie löscht man ein Element aus einem Array in PHP
-
Verwendung der Funktion
unset()
zum Löschen eines Elements aus einem Array in PHP -
Verwendung der Funktion
array_splice()
zum Löschen eines Elements aus einem Array in PHP -
Verwendung der Funktion
array_diff()
zum Löschen eines Elements 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.
$arrayName
ist ein obligatorischer Parameter. Es ist dasArray
, dessen Elemente gelöscht werden.$startingIndex
ist der Index des Elements, das wir löschen wollen.$numOfElements
ist die Anzahl der Elemente, die wir aus dem Startindex löschen wollen.$array2Name
ist einArray
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
)
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
)