相关疑难解决方法(0)

在这种情况下PHP切换案例超过1个值

我有另一种情况.我有一个包含值的变量('Weekly','Monthly','Quarterly','Annual'),我有另一个变量,它保存从1到10的值.

switch ($var2) {
       case 1:
          $var3 = 'Weekly';
          break;
       case 2:
          $var3 = 'Weekly';
          break;
       case 3:
          $var3 = 'Monthly';
          break;
       case 4:
          $var3 = 'Quarterly';
          break;
       case 5:
          $var3 = 'Quarterly';
          break;
       // etc.
}
Run Code Online (Sandbox Code Playgroud)

它不漂亮,因为我的代码有很多重复.我想要的是:

switch ($var2) {
       case 1, 2:
          $var3 = 'Weekly';
          break;
       case 3:
          $var3 = 'Monthly';
          break;
       case 4, 5:
          $var3 = 'Quarterly';
          break;
}
Run Code Online (Sandbox Code Playgroud)

我怎么能在PHP中做到这一点?先感谢您.对不起我的英语不好.

php case switch-statement

45
推荐指数
2
解决办法
7万
查看次数

php switch case语句来处理范围

我正在解析一些文本并根据一些规则计算权重.所有角色都具有相同的重量.这会使switch语句真的很长,我可以在case语句中使用范围.

我看到了一个提倡关联数组的答案.

$weights = array(
[a-z][A-Z] => 10,
[0-9] => 100,
['+','-','/','*'] => 250
);
//there are more rules which have been left out for the sake of clarity and brevity
$total_weight = 0;
foreach ($text as $character)
{
  $total_weight += $weight[$character];
}
echo $weight;
Run Code Online (Sandbox Code Playgroud)

实现这样的目标的最佳方法是什么?是否有类似于PHP中的bash case语句?当然,在关联数组或switch语句中写下每个字符都不是最优雅的解决方案,还是唯一的替代方案?

php range switch-statement

37
推荐指数
2
解决办法
5万
查看次数

标签 统计

php ×2

switch-statement ×2

case ×1

range ×1