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エラーを防止することができる。

前へ

PHPエラー「PHP Warning: fwrite(): supplied argument is not a valid stream resource」の原因と解決方法

次へ

トマトジュース・Del Monte Fruity Tomato (デルモンテ・フルーティトマト)紙パックを飲む