3

PHPコードブロックをネストしているため、このコードは壊れています。これを行う適切な方法は何ですか?

<?php
        if ($prev_ID > $totalRows_totalBoogerRows)
        {
            echo "";
        }
        else
        {
            echo <<<_END
                <div class='paging_button_left paging_button_left_episode'>
                    <a href='episode.php?post_ID=<?php echo $prev_ID; ?>'>
                        <h4 style='text-align: right;'>Ep. <?php echo $prev_ID; ?>
                        </h4>
                    </a>
                </div>"
                _END;
        }
    ?>

PHP の終了タグが 1 行目の最初の PHP の開始タグを閉じるため、11 行目で中断します (11 行目の PHP の開始タグのみを閉じたい)。また、 <<<_END を間違って使用している可能性があります。

4

6 に答える 6

6

では、これを使ってみませんか?

<?php if(something): ?>
   HTML
<?php else: ?>
   HTML
<?php endif ?>

それで:

<?php if ( $prev_ID <= $totalRows_totalBoogerRows ): ?>
    <div class='paging_button_left paging_button_left_episode'>
       <a href='episode.php?post_ID=<?php echo $prev_ID ?>'>
          <h4 style='text-align: right;'>Ep. <?php echo $prev_ID ?></h4>
       </a>
    </div>
<?php endif ?>
于 2013-01-16T07:28:48.270 に答える
5

php 変数を挿入する必要がある文字列をエコーする場合は、php タグを開いたり閉じたりせずに、文字列連結を使用します。

<?php
    if ($prev_ID > $totalRows_totalBoogerRows)
    {
        echo "";
    }
    else
    {
        echo "
            <div class='paging_button_left paging_button_left_episode'>
                <a href='episode.php?post_ID=".$prev_ID."'>
                    <h4 style='text-align: right;'>Ep. ".$prev_ID."</h4>
                </a>
            </div>";
    }
?>
于 2013-01-16T07:24:34.443 に答える
4

ヒアドキュメント終了トークン_ENDが間違った場所にあります。その前に空白があってはなりません。

PHP.NETのマニュアルString.Syntax.Heredocからの警告を参照してください

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

また、ヒアドキュメントを使用すると、文字列は二重引用符で囲まれた文字列として評価されます。したがって、このように内部で変数を使用できます。

            echo <<<_END
                <div class='paging_button_left paging_button_left_episode'>
                    <a href='episode.php?post_ID=$prev_ID'>
                        <h4 style='text-align: right;'>Ep. $prev_ID
                        </h4>
                    </a>
                </div>  
_END;
于 2013-01-16T07:27:56.387 に答える
3

PHPタグを閉じて再度開くだけです

<?php
        if ($prev_ID > $totalRows_totalBoogerRows)
        {
            echo "";
        }
        else
        {?>
                <div class='paging_button_left paging_button_left_episode'>
                    <a href='episode.php?post_ID=<?php echo $prev_ID; ?>'>
                        <h4 style='text-align: right;'>Ep. <?php echo $prev_ID; ?>
                        </h4>
                    </a>
                </div>
        <?php}
    ?>
于 2013-01-16T07:29:58.080 に答える
0

これを試して :

if ($prev_ID > $totalRows_totalBoogerRows)
    {
        echo "";
    }
    else
    {
        echo "                
               <div class='paging_button_left paging_button_left_episode'>
                  <a href='episode.php?post_ID=\"$prev_ID\"'>
                     <h4 style='text-align: right;'>Ep. \"$prev_ID\"
                     </h4>
                  </a>
                </div>
             ";
    }
于 2013-01-16T07:31:00.147 に答える
0

これを試して 、

<?php
                if ($prev_ID > $totalRows_totalBoogerRows)
                {
                    echo "";
                }
                else
                {
                    echo <<<_END
                        <div class='paging_button_left paging_button_left_episode'>
                            <a href='episode.php?post_ID='.echo $prev_ID;'>
                                <h4 style='text-align: right;'>Ep. echo $prev_ID;
                                </h4>
                            </a>
                        </div>"
                        _END;
                }
            ?>
于 2013-01-16T07:25:00.150 に答える