"Joh"/> "Joh">

Heim  >  Artikel  >  Backend-Entwicklung  >  Das zweidimensionale PHP-Array löscht das angegebene eindimensionale Array

Das zweidimensionale PHP-Array löscht das angegebene eindimensionale Array

王林
王林Original
2023-05-06 13:27:07609Durchsuche

In der PHP-Programmierung ist ein zweidimensionales Array ein sehr häufiger Datentyp. Zweidimensionale Arrays werden auch zur Speicherung und Verarbeitung komplexer Daten verwendet. In einigen Fällen müssen wir ein bestimmtes eindimensionales Array aus einem zweidimensionalen Array entfernen. Dieser Prozess erscheint in PHP oft schwieriger. In diesem Artikel erfahren Sie, wie Sie ein bestimmtes eindimensionales Array aus einem zweidimensionalen Array löschen.

Schauen wir uns zunächst ein einfaches zweidimensionales Array-Beispiel an, das drei eindimensionale Arrays enthält:

$students = array(
    array("name" => "John", "age" => 20, "skill" => "PHP"),
    array("name" => "Mary", "age" => 22, "skill" => "Java"),
    array("name" => "Peter", "age" => 21, "skill" => "Python")
);

Angenommen, wir möchten das eindimensionale Array namens Mary löschen. Wie sollen wir das erreichen?

Methode 1: Verwenden Sie die foreach-Schleife, um

Eine der möglichen Lösungen besteht darin, die foreach-Schleife zu verwenden, um jedes eindimensionale Array zu erhalten, und die Funktion unset() in jeder Iteration zu verwenden, um das eindimensionale Array zu löschen, das erfüllt Bedingungen.

foreach($students as $key => $value) {
  if($value['name'] == 'Mary') {
    unset($students[$key]);
  }
}

In diesem Beispiel ist $key der Schlüssel der aktuellen Iteration und $value der Wert der aktuellen Iteration. In jeder Iteration vergleichen wir den Namensschlüssel, um festzustellen, ob die Bedingung erfüllt ist. Wenn ein passendes Array gefunden wird, löschen wir das Array mit der Funktion unset().

Methode 2: Verwenden Sie array_filter() zum Implementieren.

Eine andere Möglichkeit, ein bestimmtes eindimensionales Array zu löschen, ist die Verwendung der Funktion array_filter(). Diese Funktion akzeptiert ein Array als Eingabe und gibt ein neues Array mit Elementen zurück, die den entfernten Kriterien entsprechen.

$students = array_filter($students, function($arr) {
  return $arr['name'] !== 'Mary';
});

In diesem Beispiel übergeben wir eine anonyme Funktion an die Funktion array_filter(). Diese Funktion durchläuft das Array $students und übergibt jedes eindimensionale Array als Eingabearray an die Funktion. In der anonymen Funktion verwenden wir den Operator !==, um zu vergleichen, ob der Namensschlüssel des aktuellen Arrays gleich Mary ist. Wenn sie nicht gleich sind, gibt die Funktion array_filter() ein neues Array zurück und die Elemente, die die Bedingungen erfüllen, bleiben erhalten.

Methode 3: Verwenden Sie array_search(), um

Abschließend können wir die Funktion array_search() verwenden, um das zu löschende eindimensionale Array zu finden, und es dann mit der Funktion unset() löschen.

$search_key = array_search('Mary', array_column($students, 'name'));
unset($students[$search_key]);

Beachten Sie, dass wir die Funktion array_column() verwenden, um die Werte aller Namensschlüssel aus dem Array $students als neues Array zurückzugeben. Wir können die Funktion array_search() verwenden, um in diesem neuen Array nach einem passenden Wert zu suchen und den Schlüssel dieses Werts zurückzugeben. Schließlich verwenden wir die Funktion unset(), um das dem Schlüssel entsprechende Element zu löschen.

Zusammenfassung:

Die oben genannten sind drei gängige Methoden zum Löschen eines bestimmten eindimensionalen Arrays aus einem zweidimensionalen PHP-Array. Es ist wichtig zu beachten, dass jede Methode ihre Vor- und Nachteile hat. Bei der Auswahl einer Implementierungsmethode sollten wir basierend auf unseren Codeanforderungen die am besten geeignete Methode auswählen.

In tatsächlichen Anwendungen wird die Implementierungsmethode basierend auf der tatsächlichen Situation ausgewählt. Manchmal können auch verschachtelte Schleifen das Problem lösen, aber wenn die Datenmenge zu groß ist, ist sie möglicherweise ineffizient, sodass ein gutes Gleichgewicht zwischen Leistung und Codelesbarkeit besteht ist erforderlich. .

Das obige ist der detaillierte Inhalt vonDas zweidimensionale PHP-Array löscht das angegebene eindimensionale Array. 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