PHPエラー「PHP Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING」の原因の1つと解決方法
PHPプログラムを実行した際に、
PHP Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/nobuneko/test.php on line 100
といったエラーになる場合、\(¥:エスケープシーケンス)の扱い方に誤りがある可能性がある。
《例》「/(スラッシュ)」を\(¥:エスケープシーケンス)に置換するプログラム
$neko = str_replace("/","\",$neko);
→この場合は、上述のエラーとなる。
何故ならば、\(¥:エスケープシーケンス)が、後続の"(ダブルクォーテーション)をエスケープ処理してしまい、\(¥:エスケープシーケンス)の直前に記述されている"(ダブルクォーテーション)に対応する"(ダブルクォーテーション)が存在しないことになるからだ。
このような場合は、\(¥:エスケープシーケンス)を2連続で書くと良い。
$neko = str_replace("/","\\",$neko);
この書き方であれば、\(¥:エスケープシーケンス)が、後続の"(ダブルクォーテーション)をエスケープ処理したとしても、まだもう1つ\(¥:エスケープシーケンス)が残っていることになるので、上述のようなPHPエラーを防止することができる。