PHP=在字符串末尾追加0

PHP=在字符串末尾追加0,php,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;

我有一个函数,它获取给定给项目的平均用户评级,并将其转换为相关类:

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;
}

有人能告诉我我做错了什么吗。

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

$removedec .= '0';

是的,您是对的,行是错的,您忘记赋值,如下所示:

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

if(strlen($removedec)假设有一个整数变量,您不知道该值是多少:

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

在字符串末尾附加值。

愚蠢的错误…谢谢。我的尾随数字现在显示得很好,但我丢失了一个下划线,例如我得到的是30级而不是30级。你能看到我是如何处理这个问题的吗?没关系,我用了+而不是a。-我想这就是在js之间切换的问题请解雇提出
$urate\u ave
的人。谢谢。或者至少给他买罗伯特·马丁(Robert Martin)的干净代码。你能解释一下你的意思吗,刚才在谷歌上搜索了罗伯特·马丁(Robert Martin),里面有很多。代码读起来比写出来的要多。因此,代码应该是可读的。用
$urate\u ave
之类的缩写代替e> 平均用户评分
会让你的代码变得不可读。你用缩写保存的几次按键不值得你牺牲在那里的可读性。看到
urate\u ave
的人很难理解它的意思。至于干净的代码:我同意,我现在倾向于使用更具描述性的变量名(很像我的函数名-get_user_rating_class)-这是我正在重新编写的一些旧代码的一部分。但是,由于不清楚它的含义-您似乎破解了我的代码。感谢链接,我将查看它。
$var = 0;
$str = "var is : " . ($var?$var:'0');