PHPのプログラムを実行するとUnexpected T_STRINGエラーが出る場合があります。
このエラーが出た場合にチェックするポイントを説明します。
エラーが出た場所を確認する
以下のようにエラーが出るので、まずはこのエラーメッセージよりエラーが検出された場所を確認します。
Unexpected T_STRING in index.php on line 20
上記の場合だと、index.phpというファイルの20行目でエラーが発生しました。問題のエラーは20行目にあるとは限らず、実際はもう少し手間でプログラムの間違いがあり、PHPがエラーを検出したのが20行目だっただけの場合も多いです。
エラーの原因を探る
Unexpected T_STRINGエラーが発生する理由は様々ですが、良くあるのは以下のものです。
文字列の最初or最後の「"」や「'」をつけ忘れた
以下のように、文字列の最後の「"」や「'」を忘れるとエラーになります。
#誤り
echo "hello;
#正解
echo "hello";
#誤り
echo 'hello;
#正解
echo 'hello';
文字列の最初と最後の記号が一致してない
#誤り
echo 'hello";
#正解
echo "hello";
もしくは
echo 'hello';
文字列の途中に「"」や「'」が入っている
文字列の途中に、「"」や「'」が入っていると、そこで文字列の終わりと誤認識されている可能性があります。この場合は、「"」や「'」の前に半角の¥マークorバックスラッシュ「\」を入力する必要があります
#誤り what's newと表示させたいが、文字列中に「'」が入っている
echo 'what's new';
#正解
echo 'what\'s new';
または
echo "what\'s new";
#誤り
echo "<a href="http://example.com">hello</a>";
#正解
echo "<a href=\"http://example.com\">hello</a>";
「"」や「'」が半角ではなく、全角の「“」「”」「’」などになっている。
文字列の最初の終わりの文字は、半角である必要があります。
エラーが出た行に半角スペースではなく、全角スペースが入っている。
インデントのためのスペースは半角スペースである必要があります。
これはすぐにわかりづらいので、エディタで1文字づつ反転させてみて、全角スペースが入っていないかチェックしたり、エディタの検索機能でチェックすると良いです。
はじめてのWebプログラミングには、イラストでよくわかるPHPもおすすめです。
こちらもおススメ
ありがとうございます。
かなり悩みましたがこのページ見て解決しました。
Pythonに慣れているせいで、エラーとされている行の前でコロン";"忘れていました(笑)