Heim  >  Artikel  >  Backend-Entwicklung  >  So löschen Sie ein leeres Array in PHP

So löschen Sie ein leeres Array in PHP

PHPz
PHPzOriginal
2023-04-19 11:37:38698Durchsuche

In der PHP-Entwicklung müssen wir häufig Arrays mit leeren Werten löschen. Denn bei der Verarbeitung von Formularübermittlungen, Datenbankabfragen usw. dürfen wir nicht zulassen, dass Nullwerte das Array belegen, da dies sonst den normalen Betrieb des Programms beeinträchtigt. Daher ist es unbedingt erforderlich, das Array mit leeren Werten zu löschen. Wie löscht man also ein Array mit leeren Werten?

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

Zuerst können wir die foreach-Schleife verwenden, um das Array zu durchlaufen, und dann die Funktion „unset“ verwenden, um Elemente mit leeren Werten zu löschen. Zum Beispiel:

foreach ($arr as $key => $value) {
    if (empty($value)) {
        unset($arr[$key]);
    }
}

In diesem Code durchlaufen wir das Array $arr durch eine foreach-Schleife und verwenden die leere Funktion, um zu bestimmen, ob das Array-Element leer ist. Wenn das Element leer ist, verwenden Sie die unset-Funktion, um das Element zu löschen. Dadurch werden alle leeren Elemente im Array gelöscht.

2. Verwenden Sie die Funktion array_filter, um das Array zu filtern.

Zusätzlich zur Verwendung der foreach-Schleife zum Durchlaufen des Arrays können wir auch die in PHP integrierte Funktion array_filter verwenden Filtern Sie das Array. Die Funktion array_filter kann das Array gemäß der angegebenen Rückruffunktion filtern und das gefilterte Array zurückgeben. Wenn die Callback-Funktion „true“ zurückgibt, bleibt das Element erhalten, wenn sie „false“ zurückgibt, wird das Element gelöscht. Zum Beispiel:

$arr = array_filter($arr, function($value) {
    return !empty($value);
});

In diesem Code übergeben wir eine Rückruffunktion, die bestimmt, ob das Element leer ist. Wenn das Element nicht leer ist, wird „true“ zurückgegeben und das Element bleibt erhalten. Andernfalls wird „false“ zurückgegeben und das Element wird gelöscht. Gibt schließlich das gefilterte Array zurück.

3. Verwenden Sie die Funktion array_walk, um Arrays mit leeren Werten zu löschen.

Zusätzlich zur Verwendung von foreach und array_filter können wir auch die Funktion array_walk verwenden, um Arrays mit leeren Werten zu löschen. Die Funktion array_walk kann eine benutzerdefinierte Funktion auf jedes Element eines Arrays anwenden. Zum Beispiel:

array_walk($arr, function(&$value, $key) {
    if (empty($value)) {
        unset($arr[$key]);
    }
});

In diesem Code verwenden wir die Funktion array_walk, um das Array zu durchlaufen und eine Rückruffunktion zu übergeben. Die Rückruffunktion prüft, ob das Array-Element leer ist, und wenn es leer ist, verwendet sie die unset-Funktion, um das Element zu löschen. Es ist zu beachten, dass wir die Referenzübergabe (&$value) verwenden, damit der Wert des Array-Elements geändert werden kann.

4. Verwenden Sie rekursive Funktionen, um leere Elemente mehrdimensionaler Arrays zu löschen.

Wenn das Array ein mehrdimensionales Array ist, können wir rekursive Funktionen verwenden, um leere Elemente zu löschen. Zum Beispiel:

function clearEmptyValue($arr) {
    foreach($arr as $key => $value) {
        if(is_array($value)) {
            $arr[$key] = clearEmptyValue($value);
        } elseif(empty($value)) {
            unset($arr[$key]);
        }
    }
    return $arr;
}

In diesem Code definieren wir eine rekursive Funktion „clearEmptyValue“. Diese Funktion durchläuft das Array. Wenn das Array-Element ein Array-Typ ist, ruft sie diese Funktion rekursiv auf, um die leeren Elemente zu löschen. Andernfalls wird festgestellt, ob das Element leer ist, und es gelöscht. Gibt schließlich das gelöschte Array zurück.

Zusammenfassung

Die oben genannten Möglichkeiten sind mehrere Möglichkeiten, Arrays mit leeren Werten zu löschen. Basierend auf dem tatsächlichen Geschäftsszenario können wir eine geeignete Clearing-Methode auswählen. Es ist zu beachten, dass es beim Löschen von Array-Elementen am besten ist, unset zu verwenden, anstatt Null oder '' Werte zuzuweisen, da diese beiden Methoden die Array-Elemente nicht wirklich löschen, sondern den Wert nur auf leer setzen.

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