Löschen Sie die angegebenen Spalten aus dem zweidimensionalen PHP-Array

王林
Freigeben: 2023-05-19 17:06:09
Original
944 Leute haben es durchsucht

In der PHP-Entwicklung sind Arrays ein sehr häufiger Datentyp, und zweidimensionale Arrays werden in verschiedenen Geschäftsszenarien häufig verwendet. In der tatsächlichen Entwicklung müssen wir jedoch häufig einige Vorgänge an zweidimensionalen Arrays ausführen, z. B. das Löschen einer bestimmten Zeile oder Spalte. In diesem Artikel wird erläutert, wie Sie mit PHP ein zweidimensionales Array betreiben und bestimmte Spalten löschen können.

  1. Verwenden Sie die Unset-Funktion, um bestimmte Spalten zu löschen.

Die Unset-Funktion in PHP kann zum Löschen von Elementen in Arrays verwendet werden, einschließlich gewöhnlicher Arrays, assoziativer Arrays und mehrdimensionaler Arrays. Die Syntax lautet wie folgt:

unset($array[index]);

wobei $array das Array der zu löschenden Elemente darstellt und Index den Index des zu löschenden Elements darstellt.

Bei zweidimensionalen Arrays können wir das gesamte Array durch verschachtelte Schleifen durchlaufen und dann die unset-Funktion verwenden, um die angegebene Spalte zu löschen. Der Beispielcode lautet wie folgt:

<?php
$array = array(
            array('a'=>1, 'b'=>2, 'c'=>3),
            array('a'=>4, 'b'=>5, 'c'=>6),
            array('a'=>7, 'b'=>8, 'c'=>9),
        );

$remove_key = 'b';

for ($i = 0; $i < count($array); $i++) {
    unset($array[$i][$remove_key]); // 删除指定列
}

print_r($array);
?>
Nach dem Login kopieren

Im obigen Code erstellen wir ein zweidimensionales Array mit 3 Elementen, geben dann die zu löschende Spalte als b an, verwenden eine Schleife, um das gesamte zweidimensionale Array zu durchlaufen, und löschen Spalte b in jeder Zeile nacheinander. Drucken Sie abschließend das verarbeitete zweidimensionale Array aus.

  1. Verwenden Sie die Funktion array_map, um die angegebene Spalte zu löschen

Zusätzlich zur unset-Funktion stellt PHP auch die Funktion array_map bereit, die die angegebene Rückruffunktion auf jedes Array-Element anwenden und ein neues Array zurückgeben kann. Daher können wir die Funktion array_map in Verbindung mit der anonymen Funktion verwenden, um den Wert der angegebenen Spalte auf Null zu setzen und so den Effekt zu erzielen, dass die angegebene Spalte gelöscht wird. Der Beispielcode lautet wie folgt:

<?php
$array = array(
            array('a'=>1, 'b'=>2, 'c'=>3),
            array('a'=>4, 'b'=>5, 'c'=>6),
            array('a'=>7, 'b'=>8, 'c'=>9),
        );

$remove_key = 'b';

$array = array_map(function($row) use ($remove_key) {
            unset($row[$remove_key]); // 删除指定列
            return $row;
        }, $array);

print_r($array);
?>
Nach dem Login kopieren

Im obigen Code erstellen wir auch ein zweidimensionales Array mit 3 Elementen, geben dann die zu löschende Spalte als b an, verwenden die Funktion array_map, um jede Zeile zu durchlaufen und einen anonymen Wert anzuwenden Funktion zum Ändern des Werts der angegebenen Spalte. Auf Null setzen und schließlich das verarbeitete zweidimensionale Array erhalten.

  1. Verwenden Sie die Funktionen array_column und array_diff, um bestimmte Spalten zu löschen.

Zusätzlich zu den beiden oben genannten Methoden können wir auch die in PHP integrierten Funktionen array_column und array_diff verwenden, um bestimmte Spalten zu löschen. Die Funktion array_column kann den Wert einer angegebenen Spalte in einem zweidimensionalen Array extrahieren, und die Funktion array_diff kann die Differenz mehrerer Arrays berechnen. Daher können wir zuerst die Funktion array_column verwenden, um die angegebene Spalte zu extrahieren, und dann die Funktion array_diff verwenden, um den Differenzsatz zu berechnen, wodurch wir ein Array erhalten, in dem die angegebene Spalte gelöscht ist. Der Beispielcode lautet wie folgt:

<?php
$array = array(
            array('a'=>1, 'b'=>2, 'c'=>3),
            array('a'=>4, 'b'=>5, 'c'=>6),
            array('a'=>7, 'b'=>8, 'c'=>9),
        );

$remove_key = 'b';

$result = array();

foreach ($array as $row) {
    $result[] = array_diff_key($row, array($remove_key => ''));
}

print_r($result);
?>
Nach dem Login kopieren

Im obigen Code erstellen wir auch ein zweidimensionales Array mit 3 Elementen, geben dann die zu löschende Spalte als b an und verwenden die Funktion array_diff_key in der Schleife, um den Differenzsatz zu berechnen. und fügen Sie das Ergebnis zum neuen Array hinzu, um schließlich das verarbeitete zweidimensionale Array zu erhalten.

Zusammenfassung:

Ganz gleich, ob Sie die Funktion unset, die Funktion array_map oder die Funktionen array_column und array_diff verwenden, Sie können bestimmte Spalten in PHP löschen. Welche Methode Sie wählen, hängt vom tatsächlichen Geschäftsszenario und den persönlichen Programmiergewohnheiten ab. In der tatsächlichen Entwicklung können wir je nach Bedarf die am besten geeignete Methode auswählen, um die Effizienz und Lesbarkeit des Codes zu verbessern.

Das obige ist der detaillierte Inhalt vonLöschen Sie die angegebenen Spalten aus dem zweidimensionalen PHP-Array. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!