|
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7">
Strings / ZeichenkettenEin String ist eine Folge von Zeichen. In PHP entspricht ein Zeichen einem Byte, das heißt, dass exakt 256 unterschiedliche Zeichen möglich sind. Das impliziert auch, dass PHP keine native Unterstützung für Unicode bietet.
SyntaxEin String kann auf drei verschiedene Weisen geschrieben werden. Einfache Anführungszeichen (Single quoted)Der leichteste Weg einen einfachen String zu schreiben, ist der Einschluss in einfache Anführungszeichen (das Zeichen '). Um ein einfaches Anführungszeichen wörtlich auszugeben, muss dieses mit einem Backslash (\) escaped werden, wie in vielen anderen Programmiersprachen auch. Wenn Sie innerhalb eines Strings einen Backslash vor einem einfachen Anführungszeichen oder am Ende eines Strings ausgeben wollen, müssen Sie diesen verdoppeln. Beachten Sie: wenn Sie versuchen irgendwelche anderen Zeichen zu escapen, wird der Backslash ebenfalls ausgegeben! Daher besteht für gewöhnlich keine Notwendigkeit den Backslash selbst zu escapen.
Doppelte Anführungszeichen (Double quoted)Wenn ein String in doppelten Anführungszeichen (") eingeschlossen ist, versteht PHP mehr Escape-Folgen für spezielle Zeichen: Tabelle 7-1. Nicht ausgewertete / übergangene Zeichen:
Noch einmal: wenn Sie versuchen, irgend ein anderes Zeichen zu escapen wird der Backslash ebenfalls ausgegeben! Der wichtigste Vorteil von double-quoted Strings ist die Tatsache, dass Variablennamen ausgewertet werden. Für Details siehe String Analyse (parsing) HeredocEine andere Möglichkeit Strings einzufassen, besteht im Gebrauch der heredoc-Syntax ("<<<"). Hierfür ist nach <<< ein Bezeichner zu setzen. Nun folgt der eigentliche String und dann derselbe Bezeichner um den String abzuschließen. Der schließende Bezeichner muss in der ersten Spalte der Zeile stehen. Die verwendeten Bezeichner müssen den gleichen Regeln entsprechen wie alle anderen PHP-Labels auch: Sie dürfen lediglich alphanumerische Zeichen und den Unterstrich enthalten und müssen mit einem Unterstrich oder einem Buchstaben beginnen.
Heredoc-Text funktioniert wie ein String innnerhalb doppelter Anführungszeichen, nur ohne doppelte Anführungszeichen. Anführungszeichen innerhalb von heredoc-Texten müssen also keiner Sonderbehandlung (escapen) unterzogen werden, aber Sie können dennoch die oben aufgeführten Escape-Anweisungen verwenden. Variablen werden ausgewertet, aber besondere Aufmerksamkeit muss komplexen Variablen gewidmet werden, genau wie bei Strings.
Variablen-Analyse (parsing)Wird ein String in doppelten Anführungszeichen oder mit heredoc angegeben, werden enthaltene Variablen ausgewertet (geparst). Es gibt zwei Syntax-Typen, eine einfache und eine komplexe. Die einfache Syntax ist die geläufigste und bequemste. Sie bietet die Möglichkeit eine Variable, einen Array-Wert oder eine Objekt-Eigenschaft auszuwerten (parsen). Die komplexe Syntax wurde in PHP 4 eingeführt und ist an den geschweiften Klammern {}erkennbar, die den Ausdruck umschließen. Einfache SyntaxSobald ein Dollarzeichen ($) auftaucht, wird der Parser versuchen, gierig so viele Zeichen wie möglich zu bekommen, um einen gültigen Variablennamen zu bilden. Schließen Sie Ihren Varaiblennamen in geschweifte Klammern ein, wenn Sie ausdrücklich das Ende des Namens angeben wollen.
Auf ähnliche Weise können Sie erreichen, dass ein Array-Index oder eine Objekt-Eigenschaft ausgewertet wird. Bei Array-Indizes markiert die schließende eckige Klammer (]) das Ende des Index. Für Objekt-Eigenschaften gelten die gleichen Regeln wie bei einfachen Variablen, obwohl es bei Objekt-Eigenschaften keinen Trick gibt, wie dies bei Variablen der Fall ist.
Für irgendetwas Komplexeres sollten Sie die komplexe Syntax nutzen. Komplexe (geschweifte) SyntaxDiese wird nicht komplex genannt, weil etwa die Syntax komplex ist, sondern weil Sie auf diesem Weg komplexe Ausdrücke einbeziehen können. Tatsächlich können Sie jeden beliebigen Wert einbeziehen, der im Namensbereich in Strings gültig ist. Schreiben Sie den Ausdruck einfach auf die gleiche Art und Weise, wie außerhalb des Strings, und umschließen diesen mit { und }. Da Sie '{' nicht escapen können, wird diese Syntax nur erkannt, wenn auf { unmittelbar $ folgt. (Benutzen Sie "{\$" oder "\{$" um ein wörtliches "{$" zu erhalten.) Einige Beispiele, um dies zu verdeutlichen:
Zugriff auf Zeichen in StringsAuf Zeichen innerhalb von Strings kann durch die Angabe des nullbasierten Offsets in geschweiften Klammern nach dem String, auf das gewünschte Zeichen zugegriffen werden.
Nützliche FunktionenZeichenketten / Strings können mittels des '.'(dot)-Operators miteinander verbunden werden. Beachten Sie, dass dafür nicht der '+' (Additions)-Operator verwendet werden kann Für mehr Informationen schauen Sie bitte unter den Zeichenketten-Operatoren nach. Es gibt eine Menge nützlicher Funktionen zur String-Manipulation. Für allgemeine Funktionen schauen Sie sich den Abschnitt über String Funktionen an, und für fortgeschrittenes Suchen & Ersetzen die Funktionen zu Regulären Ausdrücken (in zwei Ausführungen: Perl Kompatibel und POSIX erweitert). Weiterhin gibt es auch noch Funktionen für URL-Strings, und Funktionen zum Verschlüsseln/Entschlüsseln von Strings (mcrypt und mhash). Schließlich, falls Sie immer noch nicht das gefunden haben wonach Sie suchen, schauen Sie unter den Zeichen-Typen Funktionen nach. Umwandlung von Zeichenketten / StringsSobald ein String als numerischer Wert ausgewertet wird, wird der resultierende Wert und Typ wie folgt festgelegt. Der String wird als float ausgewertet, wenn er eines der Zeichen '.', 'e' oder 'E' enthält. Ansonsten wird er als Integer-Wert interpretiert. Der Wert wird durch den Anfangsteil des Strings bestimmt. Sofern der String mit gültigen numerischen Daten beginnt, werden diese als Wert benutzt. Andernfalls wird der Wert 0 (Null) sein. Gültige numerische Daten sind ein optionales Vorzeichen, gefolgt von einer oder mehreren Zahlen (optional mit einem Dezimalpunkt). Wahlweise kann auch ein Exponent angegeben werden. Der Exponent besteht aus einem 'e' oder 'E', gefolgt von einer oder mehreren Zahlen.
Weitere Informationen über solche Umwandlungen finden Sie in den UNIX Manualseiten unter strtod(3). Wenn Sie irgendein Beispiel dieses Abschnitts testen wollen, können Sie dieses per "Copy und Paste" übernehmen. Fügen Sie die folgende Zeile Ihrem Skript hinzu und Sie sehen selbst was passiert:
|