Heim >Backend-Entwicklung >PHP-Problem >Zweidimensionales PHP-Array löschen
In PHP werden zweidimensionale Arrays häufig zum Speichern von Tabellendaten oder zum Speichern verwandter Daten in Form von Schlüssel-Wert-Paaren verwendet. Manchmal müssen wir jedoch bestimmte Daten aus einem zweidimensionalen Array löschen. In diesem Artikel werden daher verschiedene Methoden zum Löschen zweidimensionaler Array-Daten vorgestellt.
array_splice()-Funktion kann ein bestimmtes Datenelement aus dem Array löschen und das gelöschte Element zurückgeben. Seine Verwendung ist wie folgt:
array_splice ( array &$input , int $offset [, int $length = 0 [, mixed $replacement = array() ]] ) : array
Unter diesen ist der Parameter $input das Array, das bearbeitet werden muss; der Parameter $offset ist die Indexposition, an der mit dem Löschen begonnen werden soll; Mit dem Parameter $replacement können Elemente ersetzt und gelöscht werden. Wenn der Parameter $length nicht angegeben ist, beginnen die gelöschten Elemente an der Position $offset und enden am Ende des Arrays. Wenn der Parameter $replacement nicht angegeben ist, wird ein Array gelöschter Elemente zurückgegeben.
Wenn wir ein Element in einem zweidimensionalen Array löschen, müssen wir die zu löschende Position und Nummer angeben, damit wir den folgenden Code verwenden können:
$array = array( array('id' => 1, 'name' => 'A'), array('id' => 2, 'name' => 'B'), array('id' => 3, 'name' => 'C'), array('id' => 4, 'name' => 'D') ); $index = 1; //要删除的索引位置 $len = 1; //要删除的元素个数 array_splice($array, $index, $len);
Nach der Ausführung des obigen Codes wird das Array $array wie folgt geändert:
[ ['id' => 1, 'name' => 'A'], ['id' => 3, 'name' => 'C'], ['id' => 4, 'name' => 'D'] ]
Die unset()-Funktion kann verwendet werden, um das Element zu löschen, das dem angegebenen Schlüsselnamen im Array entspricht:
unset($array[$key]);
Wenn wir ein Element in einem zweidimensionalen Array löschen, müssen wir dies tun Geben Sie den Namen des zu löschenden Schlüssels und das Array an, in dem er sich befindet. Löschen Sie beispielsweise den Datensatz mit der ID 2 im folgenden Array:
$array = array( array('id' => 1, 'name' => 'A'), array('id' => 2, 'name' => 'B'), array('id' => 3, 'name' => 'C'), array('id' => 4, 'name' => 'D') ); $key = null; foreach ($array as $k => $v) { if ($v['id'] == 2) { $key = $k; //找到了要删除的键名 break; } } if ($key !== null) { unset($array[$key]); }
Nach der Ausführung des obigen Codes wird das Array $array wie folgt geändert:
[ ['id' => 1, 'name' => 'A'], ['id' => 3, 'name' => 'C'], ['id' => 4, 'name' => 'D'] ]
array_filter()-Funktion kann verwendet werden um Elemente im Array zu filtern, d. h. Elemente im Array zu löschen, die die Bedingungen nicht erfüllen. Wenn der zweite Parameter nicht übergeben wird, werden Elemente mit dem Wert „false“ standardmäßig gelöscht.
Wenn wir ein Element in einem zweidimensionalen Array löschen, müssen wir die Rückruffunktion verwenden, um eine Beurteilung und Filterung durchzuführen. Löschen Sie beispielsweise den Datensatz mit der ID 2 im folgenden Array:
$array = array( array('id' => 1, 'name' => 'A'), array('id' => 2, 'name' => 'B'), array('id' => 3, 'name' => 'C'), array('id' => 4, 'name' => 'D') ); $array = array_filter($array, function($v) { return $v['id'] != 2; //返回id不等于2的记录 });
Nach der Ausführung des obigen Codes wird das Array $array wie folgt geändert:
[ ['id' => 1, 'name' => 'A'], ['id' => 3, 'name' => 'C'], ['id' => 4, 'name' => 'D'] ]
Zusammenfassung
In diesem Artikel werden verschiedene Möglichkeiten zum Löschen zweidimensionaler Array-Daten vorgestellt in PHP-Methoden, einschließlich der Funktion array_splice(), der Funktion unset() und der Funktion array_filter(). Je nach Bedarf können unterschiedliche Methoden ausgewählt werden, und die spezifischen Implementierungsmethoden können auch entsprechend der tatsächlichen Situation optimiert und verbessert werden. Achten Sie bei jeder Methode natürlich unbedingt auf den Schlüsselnamen und die Indexposition des Arrays, um unnötige Fehler zu vermeiden.
Das obige ist der detaillierte Inhalt vonZweidimensionales PHP-Array löschen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!