Heim >Backend-Entwicklung >PHP-Problem >PHP-Schlüsselwert des Arrays löschen

PHP-Schlüsselwert des Arrays löschen

PHPz
PHPzOriginal
2023-05-22 20:45:36434Durchsuche

PHP ist eine sehr beliebte Webentwicklungssprache und Arrays sind eine der am häufigsten verwendeten Datenstrukturen in PHP. Wenn Sie mit Arrays arbeiten, müssen Sie manchmal einen oder mehrere Schlüssel im Array löschen und die verbleibenden Schlüssel neu anordnen und indizieren. In diesem Artikel wird erläutert, wie Sie Array-Schlüsselwerte in PHP löschen.

  1. unset()-Funktion

Die unset()-Funktion in PHP kann zum Löschen einer oder mehrerer Variablen, einschließlich Array-Schlüsselwerten, verwendet werden. Wenn Sie nur einen Schlüsselwert im Array löschen, wird das Element gelöscht, in dem sich der Schlüsselwert befindet, und die Schlüsselwerte anderer Elemente werden nicht neu indiziert.

Hier ist der Beispielcode:

<?php
$fruits = array("apple", "banana", "cherry");
unset($fruits[1]);  // 删除键值为 1 的元素(即 banana)
print_r($fruits);   // 输出: Array ( [0] => apple [2] => cherry )
?>

Das $fruits-Array hier hat drei Elemente mit den Schlüsselwerten 0, 1 und 2. Nachdem mit der Funktion unset() das Element mit dem Schlüsselwert 1 (also „Banane“) entfernt wurde, enthält die Ausgabe nur noch zwei Elemente mit den Schlüsselwerten 0 und 2.

Wenn Sie mehrere Schlüsselwerte löschen möchten, können Sie diese durch Kommas trennen oder die Schlüsselwerte als Werte in ein Array einfügen.

Hier ist der Beispielcode:

<?php
$fruits = array("apple", "banana", "cherry", "durian");
unset($fruits[1], $fruits[3]);  // 删除键值为 1 和 3 的元素(即 banana 和 durian)
print_r($fruits);               // 输出: Array ( [0] => apple [2] => cherry )
 
unset($fruits[0], $fruits[2]);  // 删除键值为 0 和 2 的元素(即 apple 和 cherry)
print_r($fruits);               // 输出: Array ( )
 
$fruits = array("apple", "banana", "cherry", "durian");
unset($fruits[1], $fruits[3]);  // 删除键值为 1 和 3 的元素(即 banana 和 durian)
print_r(array_values($fruits)); // 输出: Array ( [0] => apple [1] => cherry )
?>

Das $fruits-Array hier hat vier Elemente mit den Schlüsselwerten 0, 1, 2 und 3. Nachdem die Funktion unset() zum Löschen von Elementen mit den Schlüsselwerten 1 bzw. 3 verwendet wurde, gibt es im Ausgabeergebnis nur zwei Elemente mit den Schlüsselwerten 0 und 2.

Wenn Sie die verbleibenden Elemente neu indizieren möchten, können Sie die Funktion array_values() verwenden, die ein neues Array mit allen Schlüsselwerten der Reihe nach zurückgibt.

  1. array_splice()-Funktion

Die array_splice()-Funktion in PHP kann verwendet werden, um ein oder mehrere Elemente in einem Array zu löschen und die verbleibenden Elemente neu zu indizieren. Der erste Parameter dieser Funktion ist das zu bearbeitende Array, der zweite Parameter ist die Position, an der mit dem Löschen von Elementen begonnen wird, der dritte Parameter ist die Anzahl der zu löschenden Elemente und der vierte Parameter ist das optionale neue Element, das eingefügt werden soll.

Hier ist der Beispielcode:

<?php
$fruits = array("apple", "banana", "cherry", "durian");
array_splice($fruits, 1, 2);  // 从位置 1 开始删除 2 个元素(即 banana 和 cherry)
print_r($fruits);            // 输出: Array ( [0] => apple [1] => durian )
?>

Das $fruits-Array hier hat vier Elemente mit den Schlüsselwerten 0, 1, 2 und 3. Nachdem die Funktion array_splice() verwendet wurde, um zwei Elemente (d. h. „Banane“ und „Kirsche“) ab Position 1 zu entfernen, enthält die Ausgabe nur zwei Elemente mit den Schlüsselwerten 0 und 1.

Wenn Sie die verbleibenden Elemente neu indizieren möchten, können Sie die Funktion array_values() verwenden, bevor Sie die Elemente löschen.

  1. array_filter()-Funktion

Die array_filter()-Funktion in PHP kann verwendet werden, um Elemente in einem Array zu filtern und ein neues Array zurückzugeben (standardmäßig wird das ursprüngliche Array nicht geändert). Der erste Parameter dieser Funktion ist das zu filternde Array und der zweite Parameter ist eine optionale Rückruffunktion, die jedes Element testet und „true“ oder „false“ zurückgibt.

Hier ist der Beispielcode:

<?php
$fruits = array("apple", "banana", "cherry", "durian");
$fruits = array_filter($fruits, function($value, $key) {
    return $key != 1 && $key != 2;  // 删除键值为 1 和 2 的元素(即 banana 和 cherry)
}, ARRAY_FILTER_USE_BOTH);
print_r($fruits);  // 输出: Array ( [0] => apple [3] => durian )
?>

Das $fruits-Array hier hat vier Elemente mit den Schlüsselwerten 0, 1, 2 und 3. Nachdem die Funktion array_filter() und die Callback-Funktion zum Entfernen von Elementen mit den Schlüsselwerten 1 und 2 verwendet wurden, enthält die Ausgabe nur zwei Elemente mit den Schlüsselwerten 0 und 3.

Wenn Sie die verbleibenden Elemente neu indizieren möchten, können Sie die Funktion array_values() verwenden, nachdem Sie die Funktion array_filter() verwendet haben.

Zusammenfassung

Die oben genannten drei Möglichkeiten zum Löschen von Array-Schlüsseln in PHP. Die Auswahl der geeigneten Methode je nach Situation kann die Effizienz und Lesbarkeit Ihres Codes verbessern. Hinweis: Bei Verwendung der Funktion unset() oder array_splice() ist der gelöschte Schlüsselwert nicht mehr im Array vorhanden, während bei Verwendung der Funktion array_filter() das Array neu indiziert wird.

Das obige ist der detaillierte Inhalt vonPHP-Schlüsselwert des Arrays löschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn