:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte
Unternehmen im
Anbieterverzeichnis von SELFPHP
:: SELFPHP Forum ::
Fragen rund um die Themen PHP? In über
120.000 Beiträgen finden Sie sicher die passende
Antwort!
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
:: Qozido ::
Die Bilderverwaltung mit Logbuch für
Taucher und Schnorchler.
|
|
Leere und nicht-leere(nur Whitespaces) Array-Elemente entfernen. |
Beispielaufgabe
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;
}
/*
* Anwendungsbeispiel
*/
// Testarray erzeugen.
$data = array('Hallo', '', ' Welt', ' ', '!');
// Funktion cleanUpArray ausfuehren und Ergebnisse auswerten.
if (cleanUpArray($data, $counter)) {
print join($data) . "<br />\n" .
"<br />\n" .
'Es wurden ' . $counter . ' Array-Elemente entfernt';
} else {
print 'Fehler: $data ist kein Array!';
}
?>
|
Ausgabebeispiel: Browseransicht
Hallo Welt!
Es wurden 2 Array-Elemente entfernt |
|
|
|
|
|
|