我正在与第三方xmlrpc API
合作。错误可以作为字符串或数组返回。我需要处理和格式化这些错误以使用户友好。 API不使用错误代码/字符串。
我目前正在使用switch-case
,但希望有所改进。
现有代码:
switch ($result) { // removed some blocks for sake of post
case 'Error:malformed_mac':
$result = $_POST['params'][0] . " is malformed. Please check you have entered it correctly.";
break;
case 'Error:no_such_mac':
$result = "Sorry, " . $_POST['params'][0] . " hasn't been registered.";
break;
}
无论如何,我可以将所有可能的错误的数组声明为键,并将自定义消息声明为值:
$ errors = ['Error:no_such_mac'=>'自定义错误message1', 'Error:malformed_mac'=>'自定义错误message2'];
然后,如果键存在于响应中,则打印出相应的值?还是我可以实现这一目标的另一种方法?
感谢您的帮助。谢谢。
答案 0 :(得分:0)
解决了以下问题:
$ errors = [ “ Error:no_such_mac” =>“ Mac地址不存在”, “ Error:malformed_mac” =>“ Mac地址格式错误” ];
$word = "Error:no_such_mac";
echo strtr($word,$arr);
输出:
Mac地址不存在。
如果有更好的解决方案,请发布,我将标记为已接受答案。