PHP入門編:ユーザ定義関数の関数名とPHP組み込み関数の関数名が同じものだった場合 / エスケープシーケンス
test007.php
strlen()は、前述のように、文字列を引数としてとり、その長さを返す関数です。test007.phpでは、これをわざと引数を表示する関数として再定義しました。
ここで結果を表示するprint文で「\$text」というちょっと変わった表記を行っています。本来はここで「strlen($text) =」という文字列を表示したいのですが、このとおり書いてしまうとprint文の実行時に$textが評価されてしまい、()の中に$textの中身が展開されて表示されてしまうからです。もっとも、この例の場合、この時点で$textの中には値が入っていないので、実際には何も表示されません。ここではそれを避けるために$の前にバックスラッシュをつけて$の意味を打ち消して(エスケープして)います。このように、特殊文字の直前に置かれ、皇族文字の意味を打ち貸すための記述を「エスケープシーケンス」と呼びます。同様に「二重引用符(")」自体を表示させたい場合も「\"」とする必要があります。
<<戻る