PHP =在字符串的末尾添加0

时间:2012-10-02 12:48:39

标签: php

我有这个功能,它取一个项目的平均用户评级并将其转换为相关的类:

function get_user_rating_class($urate_ave){
    if($urate_ave==='0.0'){
        $user_rating_class='unrated_u';
    }else{
        $round_to = 0.5;
        $rounded = round($urate_ave / $round_to) * $round_to;
        $removedec = str_replace('.','',$rounded);
        if(strlen($removedec)<2){$removedec.'0';}
        $user_rating_class='rating_user_'+$removedec;
    }
    return $user_rating_class;
}

没有,当我把一个值,比如说3.0放到函数中它应该作为rating_user_30出来,而是它作为rating_user_3出来,所以这一行肯定有问题:

if(strlen($removedec)<2){$removedec.'0';}

我认为这可能是因为它将值$ removedec视为数字而不是字符串,所以我尝试在它之前添加此行,但没有更改:

$removedec = strval($removedec);

有人可以告诉我这里我做错了什么。

3 个答案:

答案 0 :(得分:9)

您应该使用.=代替.将值附加到字符串将变量设置为该值。单独的点运算符将附加值,但不会更改变量的值。

$removedec .= '0';

答案 1 :(得分:1)

是的,你说错了,你忘了分配价值,如下:

if(strlen($removedec)<2){$removedec=$removedec.'0';}

答案 2 :(得分:0)

假设有一个整数变量,你不知道该值是什么:

$var = 0;
$str = "var is : " . ($var?$var:'0');

附加字符串末尾的值。