Ankündigung

Einklappen
Keine Ankündigung bisher.

Steuerzeichen aus Array entfernen: foreach() oder array_filter() ?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Steuerzeichen aus Array entfernen: foreach() oder array_filter() ?

    Ich überarbeite z.Zt. einige Skripte und bemerke, daß ich die Steuerzeichen von Array-Inhalten z.T. auf verschiedene Weisen entferne.
    Mich würde mal interessieren, wie Ihr die Vor- bzw. Nachteile der Möglichkeiten seht oder ob Ihr sogar bessere Vorschläge habt?!

    Ausgangsposition (Beispiel)
    Ich lese Daten aus einer Datei in ein Array - bspw. mit file().

    Problematik
    Die Daten liegen teilweise mit Steuerzeichen vor (z.B. Zeilenumbruch).
    Auf diese Weise lassen sich die Daten schwerlich zu Vergleichszwecken nutzen.

    Mögliche Lösungen
    1. Ich durchlaufe das Array per foreach() und trim()me die Inhalte.
    2. Ich lasse array_filter() diese Arbeit verrichten.
    PHP-Code:
    $lines file('datei.txt');

    // 1. Variante
    foreach($lines as $key=>$val$lines[$key] = trim($val);

    // 2. Variante
    $lines array_filter($lines'trim'); 
    Wenn es um die Optik im Code geht, bin ich eher für die array_filter()-Variante.
    Habt Ihr weitere Vor- bzw. Nachteile gegenüber foreach()?

    Anmerkung
    Das ist kein Praxisbeispiel!
    Mich interessiert nur welche Variante die bessere ist, sofern man das entscheidend sagen kann...

    Danke
    Arne
    Competence-Center -> Enjoy the Informatrix
    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages


  • #2
    array_filter ist hier die falsche funktion, diese löscht nur bestimmte Elemente aus dem Array. Du willst sie aber nur editieren also nimm lieber array_map.

    PHP-Code:
    $lines array_map('trim'$lines); 
    Ich würde in (fast) jedem Fall die array_* Funktionen benutzen, da diese in C implementiert sind und dadurch schneller sind als ein foreach in PHP.

    Kommentar


    • #3
      Ah ja... Blöd. Natürlich array_map() ist sinnvoller. Hast recht.
      Danke!
      Competence-Center -> Enjoy the Informatrix
      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

      Kommentar

      Lädt...
      X