P粉2956161702023-07-31 11:28:23
编写一个switch语句需要相当多的代码。为什么不使用另一个数组来将消息与$hold中的状态关联起来呢?就像这样:
$hold = ['warning', 'warning', 'critical', 'ok', 'this is bad']; $messages = ['warning' => 'it is a warning', 'critical' => 'its critical', 'ok' => 'everyhting is ok']; foreach ($hold as $status) { echo ($messages[$status] ?? 'unknown') . PHP_EOL; }
正如您所见,我使用了一个foreach()循环来遍历$hold。
我使用了一个关联数组和特殊的Null合并运算符。如果您不喜欢这种方式,您可以使用您的switch语句。
演示请参见:https://3v4l.org/jNkfF