Heim >Backend-Entwicklung >PHP-Tutorial >Wie entferne ich leere Elemente effektiv aus einem 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!