Tom: array, einzelne Arrays löschen, wenn kleiner als 5 Buchstaben

Beitrag lesen

Hello,

Ich würde gerne aus meinem Array alle Einträge löschen die weniger als 5 Buchstaben haben.

Na, dann tu's doch ;-)

Schleife durch das Array

http://de3.php.net/manual/en/control-structures.foreach.php

foreach ($_my_array as $key => $value)
{
    ## gucken, ob das Element vom Typ String ist
    ## http://de3.php.net/manual/en/function.is-string.php
    if (is_string($value))
    {
        ## prüfen, ob die Anzahl der Zeichen < 5 ist
        ## http://de3.php.net/manual/en/function.strlen.php
        ## hier eventuell die Multibyte-Funktion verwenden, wenn UTF-8 o.ä. benutzt wird
        if (strlen($value) < 5))
        {
            ## Element im Original-Array löschen
            unset($_my_array[$key]);
        }
    }
}

Foreach arbeitet intern mit einer Kopie des Arrays, sodass Du dir keine Gedanken um das Aufrücken in der Kette machen musst. Um aber das Element zu löschen, hat es daher auch keinen Sinn, unset($value) zu schreiben, sondern es ist der Zugriff über den Schlüssel auf das Originalarray notwendig.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de