0

これがHTMLと混合されたPHPです。かなり面倒です。

  <div class="media"><?php echo ($inf['post_url']) ?><img src="<?php echo($inf['photos'][0]['alt_sizes'][0][url]); ?>" /></div>
  {block:Caption}<?php if (array_key_exists('caption', $inf))?><div class="copy"><?php Echo ($inf['caption']);?></div><?php }; ?>
  <?php }; ?>

2行目でこのエラーが発生します

Parse error: syntax error, unexpected '}' on line 1708

角かっこに問題はありません。このエラーの原因は何ですか?

4

4 に答える 4

1

コードを適切にフォーマットして実際に読み取れるようにすると、余分な角かっこ(および不足している角かっこ)を簡単に見つけることができます。

    <div class="media">
        <?php echo ($inf['post_url']) ?>
        <img src="<?php echo($inf['photos'][0]['alt_sizes'][0][url]); ?>" />
    </div>
    {block:Caption}
    <?php if (array_key_exists('caption', $inf))?>
        <div class="copy">
            <?php Echo ($inf['caption']);?>
        </div>
    <?php }; ?>
<?php }; ?>
于 2012-05-01T02:57:55.940 に答える
1

コードを正しくインデントすると非常に役立ちます。

    <div class="media">
        <?php echo ($inf['post_url']) ?>
        <img src="<?php echo($inf['photos'][0]['alt_sizes'][0][url]); ?>" />
    </div>
    {block:Caption}
    <?php if (array_key_exists('caption', $inf)) ?>
        <div class="copy">
        <?php Echo ($inf['caption']);?>
        </div>
    <?php }; ?>
<?php }; ?>

非常に基本的なことですが、閉じ括弧には対応する開き括弧がありません。

よりスタイル的なアドバイス:echoはPHP構造であるため、関数のように呼び出す必要はありません。これecho somethingは同等ですecho(something)が、前者が推奨されます。また、予約語の大文字と小文字を区別することも重要です。つまり、小文字を使用している場合は、予約語には常に小文字を使用します。

于 2012-05-01T02:59:13.390 に答える
0

最後に余分な括弧といくつかの余分なセミコロンがあり、「エコー」が大文字になっています。これを試してみてください:

<div class="media">
   <?php echo ($inf['post_url']); ?>
   <img src="<?php echo($inf['photos'][0]['alt_sizes'][0][url]); ?>" />
</div>
   {block:Caption}
   <?php if (array_key_exists('caption', $inf)) {?>
     <div class="copy">
     <?php echo ($inf['caption']);?>
     </div>
   <?php } ?>
于 2012-05-01T03:00:00.003 に答える
0

すべてのHTMLを煮詰めると、2行目と3行目が次のようになります。

if (array_key_exists('caption', $inf)) Echo ($inf['caption']); };  }; 

右中括弧を閉じる必要はありません。

于 2012-05-01T03:00:18.427 に答える