str_replace str_ireplace was ist besser
Heinz
- php
Hi,
ich stehe oft vor der Entscheidung case-sensitive oder case-insensitive Funktionen zu nutzen.
zb. str_replace str_ireplace
Wenn nun Grosskleinschreibung egal ist, welche Art von Funktionen sind dann sinnvoller und warum? Damit meine ich jetzt nur aus PHP-sicht, nicht aber ob das Script Begründungen hergeben kann.
Was spielt sich da im Hintergrund von PHP ab, was ist somit intern aufwendiger zu verarbeiten?
Heinz
echo $begrüßung;
ich stehe oft vor der Entscheidung case-sensitive oder case-insensitive Funktionen zu nutzen.
Warum? Das gibt doch die Aufgabenstellung vor.
Wenn nun Grosskleinschreibung egal ist, welche Art von Funktionen sind dann sinnvoller und warum?
Die Frage stellt sich so nicht, sondern eher: Willst du einen genauen Vergleich oder willst du eine Übereinstimmung trotz unterschiedlicher Schreibweise?
Damit meine ich jetzt nur aus PHP-sicht, nicht aber ob das Script Begründungen hergeben kann.
PHP macht das, was du willst. Einen Einfluss darauf, wie es das macht, hast du sowieso nicht.
Was spielt sich da im Hintergrund von PHP ab, was ist somit intern aufwendiger zu verarbeiten?
Bei case-insensitiven Dingen muss zunächst die Schreibweise vereinheitlicht werden, was bei den Buchstaben a bis z nur das Setzen oder Löschen eines Bits bedeutet, also mit einem bitweisen Or oder And erledigt werden kann. Danach kann die case-sensitive Version darauf angewendet werden. Die diakritischen Sonderfälle in ISO-8859-1 sind bis auf zwei (ß und ÿ) nach dem gleichen Prinzip behandelbar, alles weitere ist deutlich aufwendiger.
echo "$verabschiedung $name";
Hi,
»» ich stehe oft vor der Entscheidung case-sensitive oder case-insensitive Funktionen zu nutzen.
Warum? Das gibt doch die Aufgabenstellung vor.
nicht immer, bzw. nicht vorausschauend. So kann es sein, dass ich zb. strstr() verwende, weil ich genau weiss gross/klein. Aber zukuenftig könnte(auch wenn unwahrscheinlich) sich der gesuchte Wert vielleicht mal ändern, und da er nur einmal vorkommen kann ueberlege ich dann vielleicht direkt stristr() zu verwenden.
Bei case-insensitiven Dingen muss zunächst die Schreibweise vereinheitlicht werden, was bei den Buchstaben a bis z nur das Setzen oder Löschen eines Bits bedeutet, also mit einem bitweisen Or oder And erledigt werden kann. Danach kann die case-sensitive Version darauf angewendet werden. Die diakritischen Sonderfälle in ISO-8859-1 sind bis auf zwei (ß und ÿ) nach dem gleichen Prinzip behandelbar, alles weitere ist deutlich aufwendiger.
Das war genau was ich wissen wollte, danke.
Heinz