php 切换大小写语句来处理范围
2022-08-30 10:47:49
我正在解析一些文本并根据一些规则计算权重。所有字符具有相同的权重。这将使 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;
实现此类目标的最佳方法是什么?有没有类似于php中的bash case语句?当然,在关联数组或 switch 语句中写下每个单独的字符可能不是最优雅的解决方案,或者它是唯一的选择?