文字列の中では必ず配列を波括弧で囲むようにします。{getName()}";?>文字列内で、変数を使ってクラスのプロパティにアクセスすることもできます。このような構文を使います。"{$foo->{$baz[1]}}\n";?>上の例の出力は以下となります。アクセスする値は文字列が定義されたスコープにおける変数名として解釈します。関数やメソッドの返り値、クラス定数や静的クラス変数の値にはアクセスできません。文字列内の任意の文字にアクセスし、修正することが可能です。文字列を文字の配列として考えるわけです。以降では、負の文字列オフセットにも対応するようになりました。これは、文字列の末尾からのオフセットを表します。(文字列には何も手が加えられません)。ように波括弧を使用してアクセスすることも可能です。範囲外のオフセットに書き込んだ場合は、空いた部分に空白文字が埋められます。整数型以外の型は整数型に変換されます。文字列を代入した場合は最初の文字だけを使用します。エラーが発生するようになりました。バイトが代入されていました。文字列はバイト配列です。マルチバイト対応ではありません。ようなシングルバイトエンコーディングの文字列に対してだけしか使えません。エラーが発生するようになりました。これまでのバージョンではエラーにならず、空の文字列が配列に変換されていました。以降では、文字列のオフセットは整数あるいは整数と見なせる文字列に限られるようになりました。それ以外の場合は警告が発生します。キャストされるだけでした。出力は、このようになります。出力は、このようになります。アクセスできるようになりました。結合演算子で結合することが可能です。演算子はこの例では出てこないことに注意してください。文字列の修正を行う場合には、便利な関数がたくさん用意されています。