Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Array-Element löschen

PHP-Array-Element löschen

WBOY
WBOYOriginal
2023-05-07 16:16:08672Durchsuche

In PHP sind Arrays ein sehr häufig verwendeter Datentyp, und die Notwendigkeit, mit Arrays zu arbeiten, ist ebenfalls sehr häufig. Unter diesen ist das Löschen von Array-Elementen ein häufiger Vorgang. In diesem Artikel werden die relevanten Kenntnisse und Fähigkeiten zum Löschen von Array-Elementen in PHP erläutert.

1. Verwenden Sie die Funktion unset(), um Array-Elemente zu löschen.

PHP bietet die Funktion unset() zum Löschen von Elementen im Array. Zum Beispiel haben wir ein Array mit dem Namen $arr und können die Funktion unset() verwenden, um eines seiner Elemente zu löschen:

$arr = array('a', 'b', 'c', 'd');  // 定义数组
unset($arr[1]);  // 删除 $arr[1] 元素

Nachdem der obige Code ausgeführt wurde, wird das Element „b“ im Array $arr gelöscht .

Wenn wir mehrere Elemente löschen müssen, können wir den Index mehrerer Elemente in der Funktion unset() übergeben:

$arr = array('a', 'b', 'c', 'd');  // 定义数组
unset($arr[1], $arr[3]);  // 删除 $arr[1] 和 $arr[3] 元素

Nachdem der obige Code ausgeführt wurde, werden die Elemente „b“ und „d“ im Array $arr wird gelöscht.

Es ist zu beachten, dass die Verwendung der Funktion unset() zum Löschen eines Array-Elements nur den Wert des Elements als undefiniert markiert, d. h. das Element wird nicht aus dem Array entfernt. Daher wird der Array-Index nach dem Löschen eines Elements nicht neu angeordnet oder verschoben, sondern die ursprüngliche Indexposition bleibt erhalten. Dies ist auch der größte Unterschied zur Funktion unset().

2. Verwenden Sie die Funktion array_splice(), um Array-Elemente zu löschen. Eine andere Möglichkeit, Array-Elemente in PHP zu löschen, ist die Verwendung der Funktion array_splice(). Diese Funktion entfernt das angegebene Element aus dem Array und gibt das entfernte neue Array zurück von Elementen. Zum Beispiel haben wir das folgende Array:

$arr = array('a', 'b', 'c', 'd');

Wenn wir das zweite Element „b“ löschen müssen, können wir den folgenden Code verwenden:

$new_arr = array_splice($arr, 1, 1);

Im obigen Code ist $arr das ursprüngliche Array, das wir bedienen müssen. und der zweite Parameter 1 ist die Indexposition des Elements, das gelöscht werden muss, und der dritte Parameter 1 ist die Anzahl der Elemente, die gelöscht werden müssen.

Nach der Ausführung des obigen Codes wird das ursprüngliche Array $arr zu ['a', 'c', 'd'] und das neue Array $new_arr enthält das gelöschte Element 'b', also $new_arr = [' B'].

Es ist zu beachten, dass die Funktion array_splice() im Gegensatz zur Funktion unset() die Indizes der verbleibenden Elemente neu anordnet, um die nach den gelöschten Elementen verbleibenden Lücken zu füllen. Zum Beispiel löschen wir die Elemente „b“ und „d“ im Array $arr. Der Code lautet wie folgt:

$new_arr = array_splice($arr, 1, 2);

Nach der Ausführung des obigen Codes wird das Array $arr zu ['a', 'c'] , und das neue Array $new_arr ist ['b', 'd'].

3. Verwenden Sie die Funktion array_diff(), um Array-Elemente zu löschen.

Zusätzlich zu den beiden oben genannten Methoden gibt es in PHP eine weitere Methode, um die Funktion array_diff() zum Löschen von Array-Elementen zu verwenden. Mit dieser Funktion können Sie zwei Arrays vergleichen und ein neues Array zurückgeben, das aus Elementen besteht, die im ersten Array, aber nicht im anderen Array enthalten sind. Beispiel:

$arr = array('a', 'b', 'c', 'd');
$remove = array('b', 'd');
$new_arr = array_diff($arr, $remove);

Im obigen Code ist $arr das ursprüngliche Array, das wir bedienen müssen, das Array $remove ist das Element, das aus dem Array $arr gelöscht werden muss, und der Wert von $new_arr ist in $ enthalten arr, aber nicht in $ Elements in Remove enthalten, d. h. $new_arr = ['a', 'c'].

Es ist zu beachten, dass die Verwendung der Funktion array_diff() zum Löschen von Array-Elementen die Elemente nicht direkt löscht, sondern die Elemente, die die Bedingungen erfüllen, in ein neues Array kopiert, sodass das ursprüngliche Array nicht beeinträchtigt wird. Gleichzeitig können Sie mit dieser Methode auch mehrere Elemente löschen. Sie müssen lediglich die zu löschenden Elemente an ein Array übergeben und es an den zweiten Parameter übergeben.

4. Elemente mehrdimensionaler Arrays löschen

Die oben genannten Methoden können zum Löschen von Elementen in eindimensionalen Arrays verwendet werden, aber für mehrdimensionale Arrays müssen wir einige spezielle Techniken zum Löschen von Elementen verwenden.

Wenn wir ein bestimmtes Element in einem mehrdimensionalen Array löschen möchten, können wir zwei Schleifen verwenden, um das Array zu durchlaufen, das zu löschende Element zu finden und es mit der Funktion unset() zu löschen, zum Beispiel:

$arr = array(
  array('a', 'b', 'c'),
  array('d', 'e', 'f'),
  array('g', 'h', 'i')
);
$remove_value = 'b';
foreach ($arr as $key1 => &$value1) {
  foreach ($value1 as $key2 => &$value2) {
    if ($value2 === $remove_value) {
      unset($value1[$key2]);
    }
  }
}

Im obigen Code durchlaufen wir jedes Element des $arr-Arrays, verwenden die Variablen $key1 und $key2, um den aktuellen Array-Index aufzuzeichnen, vergleichen jedes Element mit dem zu löschenden Element und finden das benötigte Element löschen möchten, und verwenden Sie die Funktion unset(), um es zu löschen.

Es ist zu beachten, dass wir, um Elemente in einem mehrdimensionalen Array löschen zu können, die Referenzübergabe verwenden müssen, um die Array-Elemente zu bedienen. Wenn Sie nur eine foreach-Schleife verwenden, schlägt das Ändern von Array-Elementen innerhalb der Schleife fehl.

Zusammenfassung

Das Löschen von Array-Elementen ist eine häufige Operation in PHP. In diesem Artikel werden die Methoden und Techniken zum Löschen von Array-Elementen unter drei Gesichtspunkten vorgestellt: der Funktion unset(), der Funktion array_splice() und der Funktion array_diff() sowie der Verwendung mehrdimensionaler Funktionen Arrays Das Beispiel zeigt, wie Elemente aus einem mehrdimensionalen Array gelöscht werden. Durch die Beherrschung dieser Kenntnisse und Fähigkeiten können wir Arrays flexibler betreiben und die Effizienz beim Schreiben von Code verbessern.

Das obige ist der detaillierte Inhalt vonPHP-Array-Element 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