Heim >Backend-Entwicklung >PHP-Tutorial >Wie entferne ich leere Elemente effektiv aus einem PHP-Array?

Wie entferne ich leere Elemente effektiv aus einem PHP-Array?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-29 01:11:11599Durchsuche

How to Effectively Remove Empty Elements from a PHP Array?

So entfernen Sie leere Array-Elemente

Ihr Code zum Entfernen leerer Elemente aus dem $linksArray-Array funktioniert nicht wie vorgesehen. Dies liegt daran, dass unset($link) nur den Verweis auf die Variable $link entfernt, nicht das Element selbst aus dem Array.

Die Funktion empty() funktioniert ebenfalls nicht, da sie prüft, ob eine Variable leer ist , kein Array-Element.

Um leere Elemente aus einem Array zu entfernen, können Sie die Funktion array_filter() verwenden. array_filter() benötigt ein Array und eine Callback-Funktion als Argumente. Die Rückruffunktion wird auf jedes Element des Arrays angewendet und das Element wird aus dem Array entfernt, wenn die Rückruffunktion „false“ zurückgibt.

In Ihrem Fall können Sie den folgenden Code verwenden, um leere Elemente aus $linksArray zu entfernen :

$linksArray = array_filter($linksArray);

Wenn Sie jedoch Elemente beibehalten müssen, die genau die Zeichenfolge „0“ sind, benötigen Sie eine benutzerdefinierte Rückruf:

// PHP 7.4 and later
print_r(array_filter($linksArray, fn($value) => !is_null($value) && $value !== ''));

// PHP 5.3 and later
print_r(array_filter($linksArray, function($value) { return !is_null($value) && $value !== ''; }));

// PHP < 5.3
print_r(array_filter($linksArray, create_function('$value', 'return $value !== "";')));

Hinweis: Wenn Sie das Array nach dem Entfernen der leeren Elemente neu indizieren müssen, verwenden Sie:

$linksArray = array_values(array_filter($linksArray));

Das obige ist der detaillierte Inhalt vonWie entferne ich leere Elemente effektiv aus einem 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