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 }; ?>

第二行产生此错误

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

结尾多了一个括号和一些多余的分号,“echo”大写。试一试:

<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 回答