Php 2开关中的默认情况

Php 2开关中的默认情况,php,php-7,legacy-code,Php,Php 7,Legacy Code,我必须处理一些遗留代码。在该代码的一部分中,开关中有两种默认情况: switch (strtoupper($format)) { case '4A0': {$format = array(4767.87,6740.79); break;} // etc. case 'A3': {$format = array(841.89,1190.55); break;} case 'A4': default: {$format = array(595.28,841.89);

我必须处理一些遗留代码。在该代码的一部分中,
开关中有两种
默认
情况:

switch (strtoupper($format)) {
    case '4A0': {$format = array(4767.87,6740.79); break;}
    // etc.
    case 'A3': {$format = array(841.89,1190.55); break;}
    case 'A4': default: {$format = array(595.28,841.89); break;}
    case 'A5': {$format = array(419.53,595.28); break;}
    // etc.
    case 'ROYAL': {$format=array(433.70,663.30 );  break;}
    default: $format = false;
}
它以前应该可以工作,但现在不能再工作了(因为多个默认情况会引发E_COMPILE_错误,顺便说一句,这是个好消息!)。我想清理这段代码(我不明白为什么有些人在一个开关中添加了两个默认值,我认为这很奇怪和肮脏)并删除其中一个默认值,但我不确定这段代码的用途,所以我不知道我必须删除哪一个


假设我不想破坏任何东西,我应该删除第一个
默认值
还是第二个
默认值

为它编写一个单元测试,让它在工作的PHP版本中运行,然后切换到PHP7,您可以随意重构,知道你有一个测试用例,确保结果是相同的,这是安全的。只需除去最后一个。它很可能是由于那种可怕的不可读代码风格而引入的剩余代码。@FélixGagnon Grenier当我写“感谢PHP7”时,没有讽刺。这段代码不是我的,我以前从未见过两个默认情况,所以现在对我来说这是一个未知的问题,这就是为什么我问。哇。投了两次反对票,不明白为什么…@rap-2-h哦,对不起,我误解了目的:)至于dv,我敢说这与代码的质量有关,或者因为人们认为你应该自己考虑。