アイテムに与えられた平均ユーザー評価を取得し、それを関連するクラスに変換するこの関数があります。
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);
誰かが私がここで間違っていることを教えてもらえますか?