php if-statement不回显div类中的字符串?

Right now, the value of the variable $thumbs_number is +2.

When I place <?php if ( $thumbs_number == 2 ) { echo "high-rated"; } ?>"> right before the closing </div> I do get an output: high-rated.

but when I place it inside the div's class: <div class="topic-content <?php if ( $thumbs_number == 2 ) { echo "high-rated"; } ?>">.

nothing is output.

Any suggestions to fix this?

Full code:

    <div class="topic-content <?php if ( $thumbs_number == 2 ) { echo "high-rated"; } ?>">
        <span class="topic-author-link"><?php bbp_reply_author_link( array( 'type' => 'name' ) ); ?></span>
        <span class="topic-post-date"><?php printf( __( '<span>%1$s</span> <span>at %2$s</span>', 'bbpress' ), get_the_date(), esc_attr( get_the_time() ) ); ?></span>

<?php echo time_ago(); ?>
<br />
<?php echo "$post->post_modified 
"; ?>

        <?php bbp_reply_admin_links(); ?>

        <?php bbp_reply_content(); ?>

        <div class="topic-like-count">
            <h4><?php wp_gdsr_render_article_thumbs(); ?></h4>

            <?php preg_match( '!<div class="thumblock ">(.*)</div>!si' , wp_gdsr_render_article_thumbs(0, false, "", 0, "", false) , $n );
            $thumbs_number = strip_tags( $n[1] ); ?>

            <?php echo $thumbs_number; ?>

        </div>

The output is "nothing" because you have it in your HTML syntax. You should view the source to see what is has outputted.

It seems like the space had to be placed in the echo instead of the HTML part:

<div class="topic-content<?php if ( $thumbs_number == 2 ) { echo " high-rated"; } ?>">

Now it is working.

The problem is too much double quotes:

<div class="topic-content<?php if ( $thumbs_number == 2 ) { echo " high-rated"; } ?>">

You echo double quotes inside double quotes so it is invalid HTML.

Update: Your fix with space is still invalid, just your browser can fix it better.