Paul: kleiner Unterschied?

Moin,
macht es einen Unterschied, ob ich einen String erst lower setze und dann Teile davon ersetze oder ob ich erst Teile ersetze und dann den String lower setze?

$tmp_search = strtolower(str_replace(', ', ',', $search));
$tmp_search = str_replace(', ', ',', strtolower($search));

Paul

  1. Hello Paul,

    macht es einen Unterschied, ob ich einen String erst lower setze und dann Teile davon ersetze oder ob ich erst Teile ersetze und dann den String lower setze?

    $tmp_search = strtolower(str_replace(', ', ',', $search));
    $tmp_search = str_replace(', ', ',', strtolower($search));

    Hast Du schon mal versucht, Dir die Frage anhand von Beispielstrings selber zu beantworten?

    Es kommt doch wohl sehr auf die zu ersetzende Zeichenfolge an, oder? Denk mal nach, was passieren würde, wenn ich in einem String 'Faulpelz' gegen 'fauler Kerl' ersetzen will und habe vorher schon die strtolower()-Funktion benutzt.

    BTW: in welcher Kodierung liegen Deine Texte vor? Wenn Du utf-8 benutzt, dann kannst Du mit strtolower() sowieso nichts mehr anfangen.

    http://de2.php.net/manual/en/function.mb-strtolower.php

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

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

      nuqneH

      BTW: in welcher Kodierung liegen Deine Texte vor? Wenn Du utf-8 benutzt, dann kannst Du mit strtolower() sowieso nichts mehr anfangen.

      Und auch mit str_replace() wohl nicht.

      Allgemein gesagt: Alle PHP-Funktionen, die mit str beginnen, sind KEINE Stringverarbeitungsfunktionen. Diese Bezeichnung verdienen nur die mit mb beginnenden.

      Qapla'

      --
      Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
      (Mark Twain)
      1. Hello Gunnar,

        BTW: in welcher Kodierung liegen Deine Texte vor? Wenn Du utf-8 benutzt, dann kannst Du mit strtolower() sowieso nichts mehr anfangen.

        Und auch mit str_replace() wohl nicht.

        Bedingt...
        Darum merkt man es ja nicht gleich. Ein-Byte-(Zeichen)(folgen), die im String enthalten sind, kannst Du noch damit behandeln, also alle Zeichen mit Codepoints unter 128d.

        Allgemein gesagt: Alle PHP-Funktionen, die mit str beginnen, sind KEINE Stringverarbeitungsfunktionen. Diese Bezeichnung verdienen nur die mit mb beginnenden.

        Stimmt schon, da müsste man bei jeder "String-Frage" mit einem Standardtext antworten ;-P

        Liebe Grüße aus dem schönen Oberharz

        Tom vom Berg

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