Heim  >  Artikel  >  Backend-Entwicklung  >  So löschen Sie ein Subarray in einem zweidimensionalen Array in PHP

So löschen Sie ein Subarray in einem zweidimensionalen Array in PHP

PHPz
PHPzOriginal
2023-04-23 17:49:17744Durchsuche

In der PHP-Programmierung werden häufig Arrays verwendet. Ein Array ist eine geordnete Sammlung von Werten, wobei jeder Wert einen eindeutigen Schlüssel hat. Ein zweidimensionales Array bedeutet, dass die Werte in einem Array auch ein Array sind, dh die Elemente im Array sind ebenfalls Arrays. Beim Umgang mit zweidimensionalen Arrays müssen wir häufig bestimmte Array-Elemente im Array löschen. Als nächstes lernen wir, wie man Array-Elemente in einem zweidimensionalen Array in PHP löscht.

  1. Löschen Sie das Array-Element mit dem angegebenen Schlüsselnamen.

Um das Array-Element mit dem angegebenen Schlüsselnamen im zweidimensionalen Array zu löschen, Sie können die Funktion unset (in PHP) verwenden. Diese Funktion empfängt eine oder mehrere Variablen als Parameter und löscht die Werte dieser Variablen aus dem Speicher. Beim Löschen von Array-Elementen können Sie den Array-Schlüsselnamen als Parameter verwenden. Hier ist ein Beispiel:

$arr = [
    ['id' => 1,'name' => '张三'],
    ['id' => 2,'name' => '李四'],
    ['id' => 3,'name' => '王五']
];
unset($arr[1]);

In diesem Beispiel löschen wir das Array-Element mit Schlüssel 1 im Array $arr. Nach der Ausführung von unset($arr[1]) wird der Wert von $arr zu:

[
    ['id' => 1,'name' => '张三'],
    ['id' => 3,'name' => '王五']
]

Beim Löschen von Elementen im Array über die Funktion unset() müssen Sie die folgenden Punkte beachten:

# 🎜🎜#
    Das Löschen von Array-Elementen hat keinen Rückgabewert. Die Funktion unset() löscht nur den Wert der entsprechenden Variablen.
  • Wenn Sie mehrere Array-Elemente löschen möchten, können Sie eine unset()-Funktionsanweisung verwenden, um mehrere Variablen zu löschen, was die Ausführungszeit und den Leistungsverbrauch des Programms reduzieren kann.
  • Wenn der Schlüsselname vor dem Array-Element gelöscht wird, werden die nachfolgenden Schlüsselnamen nicht neu angeordnet. Mit anderen Worten: Wenn ein Array mehrere aufeinanderfolgende ganzzahlige Schlüsselnamen hat, werden durch das Löschen eines Schlüsselnamens in der Mitte die Schlüsselnamen anderer Elemente nicht geändert.
    Verwenden Sie die Funktion array_splice(), um Array-Elemente zu löschen.
PHP stellt die Funktion array_splice() zum Löschen zweidimensionaler Elemente bereit Array-Elemente. Die Funktion array_splice() wird zum Einfügen, Löschen und Ersetzen von Elementen in einem Array verwendet. Die grundlegende Syntax lautet:

array_splice(array,start,length,array)
    array: erforderlich. Das ursprüngliche Array, mit dem gearbeitet werden soll.
  • start: Erforderlich. Gibt die Position an, ab der Elemente gelöscht werden sollen.
  • Länge: Optional. Gibt an, wie viele Elemente gelöscht werden sollen. Wenn es weggelassen wird, werden alle Elemente von der Startposition bis zum Ende des Arrays entfernt.
  • array: Optional. Das Element, das an der Startposition in das Array eingefügt wird.
Hier ist ein Beispiel:

$arr = [
    ['id' => 1,'name' => '张三'],
    ['id' => 2,'name' => '李四'],
    ['id' => 3,'name' => '王五']
];
array_splice($arr, 1, 1);
In diesem Beispiel löschen wir das Array-Element mit Index 1 im Array $arr. Nach der Ausführung von array_splice($arr, 1, 1) wird der Wert von $arr zu:

[
    ['id' => 1,'name' => '张三'],
    ['id' => 3,'name' => '王五']
]
Beim Löschen von Array-Elementen in einem zweidimensionalen Array über die Funktion array_splice() müssen Sie aufpassen zu folgenden Punkten: # 🎜🎜#

Beim Löschen von Elementen müssen die Löschposition und die Löschmenge angegeben werden. Wenn der Längenparameter nicht übergeben wird, werden standardmäßig alle Elemente von der angegebenen Position bis zum Ende des Arrays gelöscht.
  • Nach dem Löschen von Elementen kann sich das ursprüngliche Array ändern. Verwenden Sie es daher mit Vorsicht. Wenn das zu löschende Element nicht vorhanden ist, wird keine Aktion ausgeführt und kein Fehler ausgegeben.
  • Beim Löschen von Elementen wird der Index neu angeordnet. Sie können das Array zuerst sortieren und dann löschen, um sicherzustellen, dass das gelöschte Array noch in Ordnung ist.
Verwenden Sie die Funktion array_diff(), um Array-Elemente zu löschen
  1. PHP bietet auch die Funktion array_diff() zum Löschen von zwei dimensionale Arrays das in angegebene Array-Element. Die Funktion array_diff() wird verwendet, um die Differenz zwischen zwei oder mehr Arrays zu vergleichen und die Differenz zwischen den beiden Arrays zurückzugeben. Die grundlegende Syntax lautet:
array_diff(array1,array2,array3...)

array1: erforderlich. Das erste zu vergleichende Array.
  • array2: erforderlich. Das zweite Array, das verglichen werden muss.
  • array3...: Optional. Andere Arrays, die verglichen werden müssen.
  • Das Folgende ist ein Beispiel:
$arr = [
    ['id' => 1,'name' => '张三'],
    ['id' => 2,'name' => '李四'],
    ['id' => 3,'name' => '王五']
];
$remove = [
    ['id' => 2,'name' => '李四']
];
$result = array_diff($arr, $remove);

In diesem Beispiel werden wir dieselben Array-Elemente im Array $arr und im Array $remove löschen und ausführen array_diff ($arr, $remove), der Wert des $result-Arrays wird zu:

[
    ['id' => 1,'name' => '张三'],
    ['id' => 3,'name' => '王五']
]

Wenn Sie Elemente in einem zweidimensionalen Array über die Funktion array_diff() löschen, müssen Sie darauf achten Folgende Punkte:

array_diff() Funktion gibt ein neues Array der Differenz zwischen den beiden Arrays zurück. Nur die unterschiedlichen Elemente in den beiden Arrays werden im neuen Array beibehalten Gleiche Elemente werden gelöscht.
  • array_diff() Funktion kann Elemente nicht nach Wert vergleichen, sondern nur nach Schlüsselnamen abgleichen. Daher müssen Sie bei der Verwendung sicherstellen, dass der Schlüsselname des Arrays korrekt ist.
  • Wenn Sie die Unterschiede in mehreren Arrays vergleichen müssen, können Sie mehrere Arrays an die Funktion array_diff() übergeben und jeweils die entsprechenden Vorgänge ausführen.
  • Zusammenfassung

Es gibt viele Möglichkeiten, Array-Elemente in einem zweidimensionalen Array in PHP zu löschen. Wir können die Lösung auswählen, die am besten zu uns passt. Wenn Sie die Funktionen unset(), array_splice() und array_diff() zum Löschen von Array-Elementen verwenden, müssen Sie auf die Unterschiede zwischen verschiedenen Funktionen und Operationen sowie auf Probleme wie Array-Operationen und Reihenfolgeänderungen achten. Beim Schreiben von PHP-Code wird empfohlen, eine geeignete Methode zum Löschen zweidimensionaler Array-Elemente basierend auf bestimmten Verwendungsszenarien auszuwählen.

Das obige ist der detaillierte Inhalt vonSo löschen Sie ein Subarray in einem zweidimensionalen Array in PHP. 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