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