Leere und nicht-leere(nur Whitespaces) Array-Elemente entfernen.
Beschreibung
Die Funktion cleanUpArray() entfernt leere und nicht-leere Array-Elemente. Nicht-leere Elemente werden entfernt, wenn die Elemente nur aus Whitespaces bestehen.
<?php
/*
* Funktionsdefinition:
*
* Die Funktion entfernt leere und nicht-leere Array-Elemente.
* Nicht-leere Elemente werden entfernt, wenn die Elemente nur
* aus Whitespaces bestehen. Die Funktionsargumente werden
* 'passed by reference' uebergeben, der Rückgabewert der
* Funktion ist immer vom Typ Boolean.
*
*
* Funktionsprototyp:
*
* boolean cleanUpArray ( array &$ar [, integer &$removal_counter] )
*
*
*
* @param array Das Array welches gesaeubert werden soll.
* @param integer (Optional) Enthaelt nach Funktionsdurchlauf
* die Anzahl der Veraenderungen im Array.
*
* @return boolean true wenn die Funktion korrekt durchlaufen
* wurde oder false wenn kein Array uebergeben
* worden ist.
*
* @author Daniel Kreßler, daniel.kressler@selfphp.de
*
* @copyright (c) 2008 Daniel Kreßler
*
*/
function cleanUpArray(&$ar, &$removal_counter)
{
// Wurde ein Array uebergeben?
if (is_array($ar)) {
// Wenn Ja:
// Groesse des uebergeben Arrays speichern.
$ar_original_size = count($ar);
// Alle nicht leeren und nicht nur aus Whitespaces
// bestehenden Array-Elemente - als neues Array - aus
// dem originalen Array ziehen und das originale Array
// mit dem neuen Array ueberschreiben.
$ar = preg_grep('/^\s*$/s', $ar, PREG_GREP_INVERT);
// Differenz zwischen der originalen Arraygroesse und
// dem neuen Array berechnen.
$removal_counter = $ar_original_size - count($ar);
return true;
}
// Wenn kein Array übergeben wurde:
return false;
}