PHP開発プロセス中に、さまざまなエラーメッセージに遭遇することが一般的です。その中で、「予期しない」 'シンボル」は、比較的一般的であるが混乱する構文エラーです。この記事では、このエラーの典型的な原因を詳細に分析し、特定のコードの例を使用して迅速にトラブルシューティングと修正する方法をご案内します。
「予期しない」シンボル "エラーがPHPコードに表示されると、通常、次のプロンプトが表示されます。
分析エラー:構文エラー、予期しない ']' filename.php on line x
その中で、「filename.php」はエラーファイル名であり、「x」は特定のエラー行番号です。
このエラーは、主に不規則な配列構造によって引き起こされます。主に以下を含みます。
このようなエラーは、一般に、冗長なコンマや誤ったインデックスの使用など、配列を定義するときの詳細に由来します。
ステップ1:配列要素の最後に余分なコンマがあるかどうかを確認します。
$ names = array(
「ジョン」、
「マイケル」、
「デビッド」、
「サラ」、
);
上記のコードでは、最後の要素の後に追加のコンマがあり、「予期しない」 'シンボル「エラーが発生する可能性があります。
それを書く正しい方法は、余分なコンマを削除するはずです:
$ names = array(
「ジョン」、
「マイケル」、
「デビッド」、
「サラ」
);
ステップ2:配列インデックスが合法であり、変数をインデックスとして直接使用できないかどうかを確認します。
$ name = "John";
$ age = 30;
$ person = [
$ name、
$ age、
];
このエラーは、変数をインデックスとして直接使用することにより簡単に発生する可能性があります。解決策は、明示的な数値インデックスを使用することです。
$ person = [
0 => $ name、
1 => $年齢、
];
キー値のペアの書き込みは、key =>値の形式に従う必要があり、コロンまたは他のシンボルに置き換えることはできません。
エラー例:
$ person = [
「名前」:「ジョン」、
「年齢」=> 30、
];
上記では、コロンを使用してキー価値のペアを定義し、構文エラーは予期しないシンボルエラーにつながります。
正しい書き込み:
$ person = [
「名前」=>「ジョン」、
「年齢」=> 30、
];
注:キー名は法的文字列または定義された定数である必要があり、未定義の定数はキー名として使用できません。
意味( "pi"、3.14);
$ person = [
pi => "john"、// piが意味されていない場合、エラー「年齢」=> 30、
];
定数が未定義の場合、このエラーが発生します。それを行う正しい方法は次のとおりです。
意味( "pi"、3.14);
$ person = [
"pi" => "John"、
「年齢」=> 30、
];
PHP「予期しない ']「シンボル」のエラーが発生した場合は、最初に配列関連のコードの構文仕様を確認して、配列インデックスとキー価値ペアが正しくフォーマットされ、冗長シンボルがないことを確認します。コード構造を慎重にトラブルシューティングすることにより、これらのエラーのほとんどをすぐに配置して解決できます。