2016-05-29 9 views
0

エラーが続きます。構文解析エラー:予期せぬ「sName」(T_STRING)が5行目の ']'を予期しています。この問題を解決するための助けが必要です。誰かが私のコードに何が間違っているのか教えてもらえますか?現在のコードが与えられるforeachloopを使用してテーブル内に配列データを配置する方法

<!DOCTYPE html> 
<?php 
$data = array [ 
       ["sName” => “Gervase”, "sNumber" => "s1234567", "mark” => 95, “comments” => “Well done!”], 
       ["sName” => “Matt”, "sNumber" => "s1234567", "mark” => 95, “comments” => “Well done!”], 
       ["sName” => “Kid”, "sNumber" => "s1234567", "mark” => 95, “comments” => “Well done!”], 
       ["sName” => “Nathan”, "sNumber" => "s1234567", "mark” => 85, “comments” => “Well done!”] 
    ] 
?> 
<html> 
<head> 
    <link type='text/css' rel='stylesheet' href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"/> 
</head> 
    <body> 
     <div> 
      <div class="jumbotron"> 
       <div> 
        <div class="container"> 
         <h1>Data</h1> 
       </div> 
       <div> 
       <div class="container"> 
        <table> 
         <table class="table"> 
          <thead> 
          <?php 

          foreach ($data as $data) 
          { 
           echo"<tr>"; 
           echo"<td>".$data["sName"]."</td>"; 
           echo"<td>".$data["sNumber"]."</td>"; 
           echo"</tr>"; 
          } 
          ?> 
           <tr> 
            <th>Student number</th> 
            <th>Student name</th> 
            <th>Mark</th> 
            <th>Comments</th> 
           </tr> 
           <tr> 
            <td>Something</td> 
           </tr> 
          </thead> 
        </table> 
       </div< 
     </div> 
    </body> 

答えて

0

、それは$データアレイの閉じ括弧の後に行方不明の半結腸に関連し得ます。

それ以外では、コードが異なる文字を引用符で囲んでいるようです。これは、質問ブロックに適用されている書式設定の色に基づいて表示されます。すべての文字が一致するように、コピーと貼り付け以外のエディタで直接配列を再入力してみましょう。

1

これらの中かっこは表示されますか? “ ”

すべてを通常の引用符"に変更する必要があります。

["sName" => "Gervase", "sNumber" => "s1234567", "mark" => 95, "comments" => "Well done!"], 
["sName" => "Matt", "sNumber" => "s1234567", "mark" => 95, "comments" => "Well done!"], 
["sName" => "Kid", "sNumber" => "s1234567", "mark" => 95, "comments" => "Well done!"], 
["sName" => "Nathan", "sNumber" => "s1234567", "mark" => 85, "comments" => "Well done!"] 

あなたは適切にそれらの引用符を変換しなかったこと、「言葉」プロセッサのいくつかの種類にコード化されたか、どこかのウェブを、それを引っ張っている可能性があります。コード "エディタ"を使うのが最善です。

さらに、PHPバージョンが< 5.4の場合、コードをarray()に変更する必要があります。しかし、あなたが掲示したエラーメッセージを考えれば、これは当てはまりそうにない。そうしないと、代わりにParse error: syntax error, unexpected '[', expecting '('が得られます。

すなわち:

$data = array (
    ["sName" => "Gervase", "sNumber" => "s1234567", "mark" => 95, "comments" => "Well done!"], 
    ["sName" => "Matt", "sNumber" => "s1234567", "mark" => 95, "comments" => "Well done!"], 
    ["sName" => "Kid", "sNumber" => "s1234567", "mark" => 95, "comments" => "Well done!"], 
    ["sName" => "Nathan", "sNumber" => "s1234567", "mark" => 85, "comments" => "Well done!"] 
) 

と念のためには、あなたが同じPHPブロック

"comments" => "Well done!"] 
    ); 
  • それは良い習慣だ内部のそのブロック以下のいずれかのPHPを持っている必要があり閉じセミコロンを追加します。

脚注:

あなたは2つだけ他を追加し、不足している要素を持つ2 <td>...</td>を持って見て:

echo "<td>".$data["mark"]."</td>"; 
echo "<td>".$data["comments"]."</td>"; 

これはボーナスであることは、アドオン。

データの下に列見出しがあるのは間違いです。あなたがそれらを一番上に(私の意見ではより良いだろう)したければ、その上に置いてください。

ここでもタグと迷惑メール<table>タグが間違っていて、デバッグ/ HTMLソースでエラーが発生している可能性があります。

I.e.:

<div class="container"> 
     <table class="table"> 
      <thead> 

       <tr> 
        <th>Student number</th> 
        <th>Student name</th> 
        <th>Mark</th> 
        <th>Comments</th> 
       </tr> 

      <?php 

      foreach ($data as $data) 
      { 
       echo"<tr>"; 
       echo"<td>".$data["sName"]."</td>"; 
       echo"<td>".$data["sNumber"]."</td>"; 

       echo"<td>".$data["mark"]."</td>"; 
       echo"<td>".$data["comments"]."</td>"; 
       echo"</tr>"; 
      } 
      ?> 

       <tr> 
        <td>Something</td> 
       </tr> 
      </thead> 
    </table> 
</div> 

また、そこにはいくつか欠けて閉じ</div>年代を持っているが、それはこの質問の範囲を超えています。あなたはそれらを一致させる必要があります。 foreach($data as $datum) $データムはない$データ何もすることができますが、同様に、それはarray()あるべきarray[]よう

0

コピーして、次のコードを貼り付け、そこにいた微妙な誤差、foreach($data as $data)はそれがあるべきであり、最も重要なことは、へのあなたのテキストエディタで何かエラーです.... このコードでも表示色を見てください$dataを提示するために異なる色が表示される可能性がありますので、現在のテキストエディタで通常の見積もりを変更するので、他のテキストエディタを使用してください....

<!DOCTYPE html> 
<?php 
$data = array(
       ["sName"=>"Gervase", "sNumber"=>"s1234567","mark"=>95,"comment"=>"Well Done!"], 
       ["sName"=>"Matt", "sNumber"=>"s1234567","mark"=>95,"comment"=>"Well Done!"], 
       ["sName"=>"Kid", "sNumber"=>"s1234567","mark"=>95,"comment"=>"Well Done!"], 
       ["sName"=>"Nathan", "sNumber"=>"s1234567","mark"=>95,"comment"=>"Well Done!"] 
); 
?> 
<html> 
<head> 
    <link type='text/css' rel='stylesheet' href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"/> 
</head> 
    <body> 
     <div> 
      <div class="jumbotron"> 
       <div> 
        <div class="container"> 
         <h1>Data</h1> 
       </div> 
       <div> 
       <div class="container"> 
        <table> 
         <table class="table"> 
          <thead> 
           <tr> 
            <th>Student number</th> 
            <th>Student name</th> 
            <th>Mark</th> 
            <th>Comments</th> 
           </tr> 
           </tr> 
          </thead> 
          <tbody> 
          <?php 

          foreach ($data as $datum) 
          { 
           echo"<tr>". 
             "<td>".$datum["sName"]."</td>". 
             "<td>".$datum["sNumber"]."</td>". 
             "<td>".$datum["mark"]."</td>". 
             "<td>".$datum["comment"]."</td>". 
           "</tr>"; 
          } 
          ?> 

           <tr> 
            <td>Something</td> 
           </tr> 
          </thead> 
        </table> 
       </div< 
     </div> 
    </body> 
+0

* "array()"にする必要があります* - 必ずしも必要ではなく、エラーメッセージが表示されます。そうでなければ、 '' Parse error:syntax error、unexpected '[' '、 '' '' '' ''質問に入れなかったが '' Parse error:syntax error、unexpected' sName ' PHPのバージョンが> 5.4 –

+1

の場合、そのタイプのコメントは^ –

+0

@ fred-iiに書いてありますが、エラーがあったと書いてありますが....答えを読んでください。 –

関連する問題