5

以下は、php ファイル内の行の 2 つのバージョンです。

最初のバージョン:

if ($projet['sourceDonnees'] === (string)$CONSTANTS['sourceDonnees_saisie']) {

2 番目のバージョン:

if ($projet['sourceDonnees'] === (string)$CONSTANTS['sourceDonnees_saisie']) {

それらは同じように見えますが、最初のバージョンの結果は になりますPHP Parse error: syntax error, unexpected T_STRINGが、2 番目のバージョンは問題なく動作します。両者の違いは、最初のバージョンは貼り付けて修正したものであるのに対し、2 番目のバージョンはすべて手書きで書き留めたものです。何が起きてる?

: この行は、UTF-8 でエンコードされたテキスト ファイルからコピーされ、別の UTF-8 テキスト ファイルに貼り付けられました。すべての操作は gedit 内で行われ、両方のファイルは私が gedit で作成しました。

4

3 に答える 3

5

PHP で解析できない UTF-8 引用符をコピーしました。引用符を削除し、同等の ASCII 文字に置き換えます (つまり、入力します)。

ASCII と UTF-8 の引用符の詳細については、http: //www.cl.cam.ac.uk/~mgk25/ucs/quotes.html を参照してください。

于 2013-03-22T14:51:47.057 に答える
3
于 2013-03-22T15:01:01.397 に答える
0

unexpected T_STRING通常、引用符または目盛りに問題があります。コピーしたコード内の's は UTF-8 であり、おそらく SO のインライン コードに使用するバックティックのように、PHP が解析できないバージョンの引用符です。それらを通常の一重引用符に変更してみてください。問題が解決する可能性があります。

そうでない場合は、関数の最後のセミコロンを忘れていないことを確認してください。これにより、同じエラーが発生する可能性があります。

于 2013-03-22T14:58:25.040 に答える