0
<?php
        $output = <<< END 
        <table style="display: table;" class="listview rowstyle-rowhighlight" id="resourcegrid">
          <thead>
            <tr>
              <th width="70"></th>
              <th style="-moz-user-select: none;" class="sortable fd-column-0"><a class="fdTableSortTrigger" href="#">Name</a></th>
              <th style="-moz-user-select: none;" class="sortable fd-column-1"><a class="fdTableSortTrigger" href="#">Contributor</a></th>
              <th style="-moz-user-select: none;" class="sortable fd-column-3"><a class="fdTableSortTrigger" href="#">Modified</a></th>
            </tr>
          </thead><tbody>
END;

echo $output;

実行すると、次のように報告されます。

Parse error: parse error on line 2

でも異常は見当たりません。

4

3 に答える 3

6

問題は、$output = <<<END代わりに使用する必要があることだと思います$output = <<< END(スペースの不足に注意してください)

echo <<<END
heredoc string...
END;

END余分なスペースが 1 つでもあると問題が発生する可能性があるため、前後にスペースがないことを確認してください。投稿したコードを見ると、 の前後にスペースがあるようですEND

PHPのウェブサイトから:

警告

終了識別子のある行には、セミコロン (;) 以外の文字を含めないでください。これは特に、識別子がインデントされていない可能性があり、セミコロンの前後にスペースやタブがない可能性があることを意味します。また、終了識別子の前の最初の文字は、ローカル オペレーティング システムで定義されている改行でなければならないことを認識することも重要です。これは、Mac OS X を含む UNIX システムでは \n です。終了区切り文字 (セミコロンが続く可能性があります) の後には、改行も続ける必要があります。

この規則が破られ、終了 ID が「クリーン」でない場合、それは終了 ID とは見なされず、PHP は引き続き終了 ID を探します。現在のファイルの終わりの前に適切な終了識別子が見つからない場合、最終行で解析エラーが発生します。

于 2010-06-10T02:58:37.587 に答える
2

<<<END(スペースなし)である必要があります。

例:

<?php
    echo <<<END
Heredoc string.
END;
于 2010-06-10T02:57:41.307 に答える
1

私のローカルホストで以下を使用してもエラーは出力されません。

<?php
        $output = <<<END
        <table style="display: table;" class="listview rowstyle-rowhighlight" id="resourcegrid">
          <thead>
            <tr>
              <th width="70"></th>
              <th style="-moz-user-select: none;" class="sortable fd-column-0"><a class="fdTableSortTrigger" href="#">Name</a></th>
              <th style="-moz-user-select: none;" class="sortable fd-column-1"><a class="fdTableSortTrigger" href="#">Contributor</a></th>
              <th style="-moz-user-select: none;" class="sortable fd-column-3"><a class="fdTableSortTrigger" href="#">Modified</a></th>
            </tr>
          </thead><tbody>
END;

他の人が言ったように、私は単にスペースを取り除きました。

于 2010-06-10T03:08:46.787 に答える