Heim  >  Artikel  >  Backend-Entwicklung  >  So entfernen Sie leere Elemente aus dem PHP-Array

So entfernen Sie leere Elemente aus dem PHP-Array

PHPz
PHPzOriginal
2023-04-24 14:50:56708Durchsuche

In der PHP-Entwicklung ist die Verarbeitung von Arrays ein sehr häufiger Vorgang. In praktischen Anwendungen stoßen wir häufig auf Situationen, in denen Arrays leere Elemente enthalten. Wenn diese leeren Elemente nicht behandelt werden, kann dies den normalen Betrieb des Programms beeinträchtigen. Daher zeigt Ihnen dieser Artikel, wie Sie mit PHP leere Elemente aus einem Array entfernen.

1. Was ist ein leeres Element? In PHP können wir ein Array auf folgende Weise erstellen:

$arr = array('foo', '', 'bar');

Der obige Code erstellt ein Array mit 3 Elementen, wobei das erste Element „foo“ und das zweite Element ist Die Elemente sind leere Zeichenfolgen und das dritte Element ist „bar“. In der tatsächlichen Entwicklung gibt es viele Fälle solcher leeren Elemente. Beispielsweise können leere Daten in von Benutzern übermittelten Formulardaten vorhanden sein oder leere Daten können auch in Datenbankabfragevorgängen erscheinen.

2. Verwenden Sie die Funktion array_filter(), um leere Elemente zu entfernen.

PHP verfügt über viele integrierte Array-Funktionen, einschließlich der Funktion array_filter(). Die Funktion array_filter() wird verwendet, um die Elemente im Array gemäß angegebenen Bedingungen zu filtern und ein neues Array zurückzugeben. Normalerweise verwenden wir die Rückruffunktion der Funktion array_filter(), um Array-Elemente zu filtern und leere Elemente zu entfernen.

Das Folgende ist ein Beispielcode, der die Funktion array_filter() verwendet, um leere Elemente im Array zu entfernen:

$arr = array('foo', '', 'bar');

// 定义回调函数
function filter_empty($var) {
    return trim($var) != '';
}

// 使用 array_filter() 函数去除空白元素
$arr = array_filter($arr, 'filter_empty');

// 输出新数组
print_r($arr);

Führen Sie den obigen Code aus. Das Ausgabeergebnis lautet:

Array
(
    [0] => foo
    [2] => bar
)

Wie aus dem obigen Code ersichtlich ist, verwenden Sie die array_filter()-Funktion zum Entfernen der leeren Elemente im ursprünglichen Array. Nachdem Elemente entfernt wurden, wird ein neues Array zurückgegeben, das nur nicht leere Elemente enthält.

Im obigen Beispielcode haben wir eine Funktion namens filter_empty als Rückruffunktion verwendet. Diese Funktion verwendet die Funktion trim(), um Leerzeichen auf beiden Seiten der Zeichenfolge zu entfernen und ermittelt dann, ob die Zeichenfolge eine leere Zeichenfolge ist. Wenn es sich nicht um eine leere Zeichenfolge handelt, wird „true“ zurückgegeben, was bedeutet, dass das Element beibehalten werden muss. Andernfalls wird „false“ zurückgegeben, was bedeutet, dass das Element herausgefiltert werden muss.

3. Verwenden Sie foreach(), um Arrays zu bedienen

Zusätzlich zur Verwendung der Funktion array_filter() können Sie auch foreach() verwenden, um das Array zu durchlaufen, und dann die Funktion unset() verwenden, um leere Elemente zu löschen. Hier ist ein Beispielcode, der eine foreach()-Schleife verwendet, um leere Elemente in einem Array zu entfernen:

$arr = array('foo', '', 'bar');

foreach ($arr as $i => $value) {
    if (trim($value) == '') {
        unset($arr[$i]);
    }
}

// 重新建立索引
$arr = array_values($arr);

// 输出新数组
print_r($arr);

Beim Ausführen des obigen Codes lautet die Ausgabe:

Array
(
    [0] => foo
    [1] => bar
)

Im obigen Code verwenden wir eine foreach()-Schleife zum Durchlaufen jedes Element im Array. Wenn das Element ein leeres Element ist, das heißt, es ist eine leere Zeichenfolge, nachdem die Funktion trim() aufgerufen wurde, um die Leerzeichen auf beiden Seiten zu entfernen, dann verwenden Sie die Funktion unset(), um das Element zu löschen. Abschließend indizieren wir das Array mit der Funktion array_values() neu, was zu einem neuen Array führt, das keine leeren Elemente enthält.

4. Verwenden Sie die Funktion array_reduce(), um leere Elemente zu entfernen.

Zusätzlich zu den beiden oben genannten Methoden können Sie auch die Funktion array_reduce() verwenden, um leere Elemente im Array zu entfernen. Die Funktion array_reduce() wird verwendet, um jedes Element des Arrays zu iterieren, alle Elemente über die Rückruffunktion zu berechnen und einen einzelnen Wert zurückzugeben.

Das Folgende ist ein Beispielcode, der die Funktion array_reduce() verwendet, um leere Elemente in einem Array zu entfernen:

$arr = array('foo', '', 'bar');

// 定义回调函数
function reduce_empty($carry, $item) {
    if (trim($item) != '') {
        $carry[] = $item;
    }
    return $carry;
}

// 使用 array_reduce() 函数去除空白元素
$arr = array_reduce($arr, 'reduce_empty', array());

// 输出新数组
print_r($arr);

Führen Sie den obigen Code aus. Das Ausgabeergebnis ist:

Array
(
    [0] => foo
    [1] => bar
)

Im obigen Code definieren wir eine Funktion namens Reduce_empty , das für jedes Element des iterierten Arrays verwendet wird. Wenn das Element kein leeres Element ist, wird das Element einem neuen Array hinzugefügt und das neue Array zurückgegeben. Verwenden Sie abschließend die Funktion array_reduce(), um leere Elemente aus dem ursprünglichen Array zu entfernen und das neue Array zurückzugeben.

5. Zusammenfassung

In diesem Artikel werden drei Methoden zur Verwendung von PHP zum Entfernen leerer Elemente in einem Array vorgestellt: Verwendung der Funktion array_filter(), Verwendung der foreach()-Schleife und Verwendung der Funktion array_reduce(). Obwohl diese Methoden unterschiedlich sind, können sie alle leere Elemente im Array effektiv entfernen und so den normalen Betrieb des Programms nicht beeinträchtigen. In der tatsächlichen Entwicklung können wir die geeignete Arbeitsmethode entsprechend der tatsächlichen Situation auswählen.

Das obige ist der detaillierte Inhalt vonSo entfernen Sie leere Elemente aus dem PHP-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