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

Swi*_*ftD 2 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;
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

$removedec = strval($removedec);
Run Code Online (Sandbox Code Playgroud)

有人能告诉我这里做错了什么.

FTh*_*son 9

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

$removedec .= '0';
Run Code Online (Sandbox Code Playgroud)