基于整数的php if语句是不是显示结果?

时间:2011-08-23 04:13:50

标签: php switch-statement

我正在使用以下preg_match

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

提取span标记之间的数字:

<div class="thumblock ">
<span class="rating-result">
<div id="gdsr_thumb_text_12_a" class="gdt-size-20 voted inactive gdthumbtext">+1</div>
</span>
<div class="ratingtext ">
<div class="raterclear"></div>
</div>

(在上面的例子中,结果是一个字符串:“+ 1”)

所以我尝试将其转换为整数:

$thumbs_number = (int)$thumbs_string;

在此函数中使用:

function get_rating_class($thumbs_number) {
    if ($thumbs_number < 0) return ' bad';
    if ($thumbs_number < 2) return ' average';
    if ($thumbs_number < 4) return ' good';
    return ' excellent';
}

function rating_class($thumbs_number) {
    echo get_rating_class($thumbs_number);
}

输出div类:

<div class="topic-like-count<?php rating_class($thumbs_number); ?>">

我甚至做过var_dump()

<h2><?php var_dump($thumbs_string); ?></h2>
<h2><?php var_dump($thumbs_number); ?></h2>

结果是:

分别为

string(2) "+1"int(1)(我直接在此处复制/粘贴)。

但是没有输出div类。

有任何解决此问题的建议吗?

修改

该类确实在HTML源代码中输出,但它没有任何效果(并且我的样式表没有被缓存)。我有另一个版本的函数,它没有在span标签周围添加额外的div,而且一个可以工作,但不幸的是我需要那个div。

3 个答案:

答案 0 :(得分:1)

如果在HTML中显示类名,那么PHP代码就可以了。样式表可能就是问题所在。

答案 1 :(得分:0)

当然..在致电echo之前添加rating_class($thumbs_number);

<div class="topic-like-count<?php echo rating_class($thumbs_number); ?>">

答案 2 :(得分:0)

为什么使用仅用于回声的额外功能?以下应该可以正常工作。

<div class="topic-like-count<?=get_rating_class($thumbs_number);?>">