Shift-JISでPHPをコーディングするとパースエラーになる

以下のように記述するとパースエラーとなる。

<?php
define('CONSTANT', '機能');
?>

■原因

2バイト目に5C16を含む文字が使用されているため。

■詳細

「能」はダメ文字と呼ばれ2バイト目に5C16を含む。つまり「能」の後に続くシングルクォーテーションがエスケープされて、文字列を正しく括れない。

■対策

以下のように\を記述するとパースエラーを防ぐ事ができる。

<?php
define('CONSTANT', '機能\');
?>

個人的にはShift-JISを使わないことを勧める。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です