我有这样的功能
function cp_module_ranks_getRank($uid){
return cp_module_ranks_pointsToRank(cp_getPoints($uid));
}
它根据我设定的点返回会员等级。 例如,我的设置有
因此,如果用户有11234个点,那么该函数会将值返回为 Diamond
现在我想根据这个等级设置一个变量。
$affdays
是变量
我的意思是这样的
If user rank is Bronze $affdays = 30
If user rank is Silver $affdays = 60
If user rank is Gold $affdays = 90
If user rank is Diamond $affdays = 180
If user rank is Platinum $affdays = 360
Default $affdays = 10
感谢。
答案 0 :(得分:4)
如何创建数组并查找相应的示例呢?
$rank = 'Bronze';
$rank_days = array(
'Bronze' => 30,
'Silver' => 60
// etc
);
if (array_key_exists($rank, $rank_days)) {
$affdays = $rank_days[$rank]; // 30
} else {
$affdays = 10;
}
答案 1 :(得分:4)
您可以使用switch语句:
$user_rank = cp_module_ranks_getRank($id);
switch($user_rank) {
case 'Bronze':
$affdays = 30;
break;
case 'Silver':
$affdays = 60;
break;
case 'Gold':
$affdays = 90;
break;
case 'Diamond':
$affdays = 180;
break;
case 'Platinum':
$affdays = 360;
break;
default:
$affdays = 10;
}
答案 2 :(得分:2)
使用switch语句
switch ($user_rank) {
case "bronze":
//code
break;
case "silver":
//code
break;
default:
$affdays = 10;
break;
//and so on
}
它就像一个带有多个“elseif”的If语句,它运行得更快
答案 3 :(得分:1)
以下代码可以解决这个问题:
if (cp_module_ranks_getRank($user) === 'Bronze') {
$affdays = 30;
} else if (cp_module_ranks_getRank($user) === 'Silver') {
$affdays = 60;
} else if (cp_module_ranks_getRank($user) === 'Gold') {
...
} else {
$affdays = 10;
}
编辑:switch语句答案远比这个
好