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

So löschen Sie ein leeres Array in PHP

PHPz
Freigeben: 2023-04-27 09:32:19
Original
1099 Leute haben es durchsucht

In PHP ist Array eine der häufigsten Datenstrukturen, die einen Satz geordneter Daten speichern kann. In praktischen Anwendungen stoßen wir häufig auf Situationen, in denen wir Nullwerte in einem Array löschen müssen. In diesem Artikel werden verschiedene Methoden zum Löschen leerer Arrays vorgestellt.

Methode 1: Verwenden Sie array_filter()

PHP bietet eine integrierte Funktion array_filter(), die falsche Werte im Array herausfiltern kann, einschließlich Nullwerte (null, false, „“, 0, „ 0", [ ],warten). Die Verwendung dieser Funktion ist wie folgt:

$array = array("a", "", "b", null, false, 0, "0", []);
$result = array_filter($array);
print_r($result);
Nach dem Login kopieren

Das Ergebnis ist wie folgt:

Array
(
    [0] => a
    [2] => b
)
Nach dem Login kopieren

Im obigen Beispiel definieren wir zunächst ein Array $array, das einige Nullwerte enthält. Dann verwenden wir die Funktion array_filter(), um das Array zu filtern, speichern die gefilterten Ergebnisse in der Variablen $result und drucken sie aus. Wie Sie sehen, werden alle Nullwerte herausgefiltert und nur Nicht-Nullwerte bleiben erhalten. $array,包含一些空值。然后我们使用 array_filter() 函数对该数组进行过滤,保存过滤后的结果到 $result 变量中,并打印出来。可以看到,过滤掉了所有的空值,只保留了非空值。

方法二:使用 foreach 循环

除了使用内置函数 array_filter() 之外,我们还可以使用循环语句来清除数组中的空值。具体的实现方式如下:

$array = array("a", "", "b", null, false, 0, "0", []);
foreach ($array as $key => $value) {
    if (empty($value)) {
        unset($array[$key]);
    }
}
print_r($array);
Nach dem Login kopieren

在上面的例子中,我们使用了 foreach 循环遍历数组,判断每一个元素是否为空,如果为空就使用 unset() 函数删除该元素。最后打印出经过删除操作后的数组。输出结果同上。

需要注意的一点是,在循环过程中我们使用了 unset() 函数来删除空值,这可能会改变数组中元素的键名。如果需要保留原来的键名,在删除操作后,需要使用 array_values() 函数对数组进行重置索引。

方法三:自定义函数

另外一种常见的方式是,定义一个自定义的函数,用于清除掉数组中的空值。实现代码如下:

function clean_array($arr) {
    foreach ($arr as $key => $value) {
        if (is_array($value)) {
            $arr[$key] = clean_array($value);
        } else {
            if (empty($value)) {
                unset($arr[$key]);
            }
        }
    }
    return $arr;
}
$array = array("a", "", "b", null, false, 0, "0", []);
$result = clean_array($array);
print_r($result);
Nach dem Login kopieren

在上面的代码中,我们定义了 clean_array() 函数,该函数使用递归的方式遍历数组元素,判断每一个元素是否为空,如果为空就使用 unset() 函数删除该元素。如果该元素是一个数组,那么就递归调用该函数继续清除空值。最后返回经过删除操作后的数组。

总结

本文介绍了几种常见的清除空数组的方法。其中最常用的方式是使用 PHP 内置函数 array_filter()

Methode 2: Foreach-Schleife verwenden🎜🎜Zusätzlich zur Verwendung der integrierten Funktion array_filter() können wir auch Schleifenanweisungen verwenden, um Nullwerte im Array zu löschen. Die spezifische Implementierung lautet wie folgt: 🎜rrreee🎜Im obigen Beispiel haben wir eine foreach-Schleife verwendet, um das Array zu durchlaufen und festzustellen, ob jedes Element leer ist. Verwenden Sie die Funktion unset(), um das Element zu löschen. Drucken Sie abschließend das Array nach dem Löschen aus. Die Ausgabe ist die gleiche wie oben. 🎜🎜Zu beachten ist, dass wir die Funktion unset() verwenden, um Nullwerte während der Schleife zu löschen, wodurch sich die Schlüsselnamen der Elemente im Array ändern können. Wenn Sie die ursprünglichen Schlüsselnamen beibehalten müssen, müssen Sie die Funktion array_values() verwenden, um den Index des Arrays nach dem Löschvorgang zurückzusetzen. 🎜🎜Methode 3: Benutzerdefinierte Funktion🎜🎜Eine andere gängige Methode besteht darin, eine benutzerdefinierte Funktion zu definieren, um die Nullwerte im Array zu löschen. Der Implementierungscode lautet wie folgt: 🎜rrreee🎜Im obigen Code haben wir die Funktion clean_array() definiert, die mithilfe der Rekursion die Array-Elemente durchläuft, um zu bestimmen, ob jedes Element leer ist , Verwenden Sie die Funktion unset(), um das Element zu löschen. Wenn das Element ein Array ist, wird die Funktion rekursiv aufgerufen, um weiterhin Nullwerte zu löschen. Schließlich wird das Array nach dem Löschen zurückgegeben. 🎜🎜Zusammenfassung🎜🎜In diesem Artikel werden mehrere gängige Methoden zum Löschen leerer Arrays vorgestellt. Die gebräuchlichste Methode ist die Verwendung der in PHP integrierten Funktion array_filter(), die alle Nullwerte auf einmal herausfiltern kann. Darüber hinaus können wir auch die foreach-Schleifenanweisung verwenden, um das Array zu durchlaufen, festzustellen, ob jedes Element leer ist, und dann die Funktion unset() verwenden, um den leeren Wert zu löschen. Schließlich können wir auch eine benutzerdefinierte Funktion definieren, um leere Werte zu löschen. Diese Funktion verwendet eine rekursive Methode, um die Array-Elemente zu durchlaufen, festzustellen, ob jedes Element leer ist, und dann die Funktion unset() zum Löschen des Elements zu verwenden. Schließlich wird der Zweck des Löschens des leeren Arrays erreicht. 🎜

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!

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