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

So löschen Sie Nullwertpaare in einem zweidimensionalen Array in PHP

PHPz
PHPzOriginal
2023-04-23 17:48:54696Durchsuche

Bei der Entwicklung mit PHP müssen wir häufig Arrays betreiben. Array ist eine gängige Datenstruktur und wird auch häufig in PHP verwendet. Ein zweidimensionales Array ist ein besonderer Array-Typ, dessen Elemente ebenfalls Arrays sind. In der tatsächlichen Entwicklung müssen wir manchmal Nullwertpaare in einem zweidimensionalen Array löschen, was die Verwendung einiger PHP-Array-Funktionen erfordert, um dies zu erreichen.

1. Was ist ein zweidimensionales Array?

Wenn die Elemente eines Arrays auch ein Array sind, dann ist das Array ein zweidimensionales Array. In PHP kann ein zweidimensionales Array wie folgt definiert werden:

$arr = array(
    array(1,2,3),
    array(4,5,6),
    array(7,8,9)
);

Der obige Code erstellt ein zweidimensionales Array mit 3 Elementen. Jedes Element ist ein eindimensionales Array mit 3 Elementen.

2. Nullwertpaare im zweidimensionalen Array löschen

In der tatsächlichen Entwicklung müssen wir manchmal Nullwertpaare im zweidimensionalen Array löschen. Das sogenannte Nullwertpaar bedeutet, dass der einem Schlüssel im Array entsprechende Wert eine leere Zeichenfolge, null, 0 oder kein Wert ist. Um diesen Zweck zu erreichen, können wir die verschiedenen Array-Funktionen von PHP verwenden.

  1. Verwenden Sie die Funktion array_filter zum Filtern.

Die Funktion array_filter kann zum Filtern aller Nullwertpaare in einem Array verwendet werden. Ihr erster Parameter ist das Array, das gefiltert werden muss, und der zweite Parameter ist eine Rückruffunktion Filtern Sie das Array. Filtern Sie jedes Element.

function filterEmpty($arr) {
    foreach($arr as $key=>$value) {
        if(is_array($value)) {
            $arr[$key] = filterEmpty($value);
        }
    }

    return array_filter($arr);
}

$arr = array(
    array(1,'',3),
    array(4,5,''),
    array(0,8,null)
);

$arr = filterEmpty($arr);
var_dump($arr);

Der obige Code definiert eine filterEmpty-Funktion zum Filtern von Nullwertpaaren in einem zweidimensionalen Array und verwendet eine rekursive Funktion, um jedes Element im Array zu durchlaufen. Wenn das Element selbst ein Array ist, wird die filterEmpty-Funktion selbst aufgerufen weiter queren. Als nächstes verwenden Sie die Funktion array_filter, um jedes Element zu filtern, um ein Array zu erhalten, das keine Nullwertpaare enthält.

  1. Verwenden Sie die Funktion array_walk.

Die Funktion array_walk kann jedes Element im Array iterieren und bestimmte Operationen daran ausführen. Wir können eine Rückruffunktion definieren, um jedes Element zu beurteilen und die Nullwertpaare zu löschen.

function walkEmpty(&$value, $key) {
    if(is_array($value)) {
        $value = array_filter($value);
    }

    if(empty($value)) {
        unset($value);
    }
}

$arr = array(
    array(1,'',3),
    array(4,5,''),
    array(0,8,null)
);

array_walk($arr, 'walkEmpty');
var_dump($arr);

Der obige Code definiert eine walkEmpty-Funktion als Rückruffunktion und verwendet die Funktion array_walk, um jedes Element im $arr-Array zu durchlaufen und zu beurteilen. Wenn das Element ein Array ist, verwenden Sie zunächst die Funktion array_filter, um Nullwertpaare im Array zu filtern. Stellen Sie als Nächstes fest, ob das Element leer ist. Wenn es leer ist, löschen Sie das Element mit der Funktion „unset“ aus dem Array.

  1. Verwenden Sie die foreach-Schleife, um das Array zu durchlaufen.

Wir können auch die foreach-Schleife verwenden, um das Array zu durchlaufen und jedes Element zu beurteilen.

function deleteEmpty($arr) {
    foreach($arr as $key=>$value) {
        if(is_array($value)) {
            $arr[$key] = deleteEmpty($value);
        }

        if(empty($value)) {
            unset($arr[$key]);
        }
    }

    return $arr;
}

$arr = array(
    array(1,'',3),
    array(4,5,''),
    array(0,8,null)
);

$arr = deleteEmpty($arr);
var_dump($arr);

Der obige Code definiert eine deleteEmpty-Funktion, die eine foreach-Schleife verwendet, um jedes Element im $arr-Array zu durchlaufen und es zu beurteilen. Wenn das Element ein Array ist, rufen Sie die Funktion deleteEmpty selbst auf, um mit dem Durchlaufen fortzufahren. Stellen Sie als Nächstes fest, ob das Element leer ist. Wenn es leer ist, löschen Sie das Element mit der Funktion „unset“ aus dem Array.

3. Zusammenfassung

Zweidimensionales Array ist eine gängige Datenstruktur, die häufig in der PHP-Entwicklung verwendet wird. Das Löschen von Nullwertpaaren in einem zweidimensionalen Array ist ebenfalls ein häufiger Vorgang. Der obige Artikel stellt drei Implementierungsmethoden vor, die die Funktion array_filter, die Funktion array_walk und die foreach-Schleife zum Durchlaufen des Arrays verwenden. Basierend auf unseren spezifischen Bedürfnissen können wir die Methode wählen, die zu uns passt.

Das obige ist der detaillierte Inhalt vonSo löschen Sie Nullwertpaare 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