在 PHP 8 中我們可以使用匹配表達(dá)式來(lái)代替 switch case。如何為以下 switch case 正確編寫匹配表達(dá)式?switch($statusCode) { case 200: case 300: $message = null; break; case 400: $message = 'not found'; break; case 500: $message = 'server error'; break; default: $message = 'unknown status code'; break;}
1 回答

一只斗牛犬
TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超2個(gè)贊
有一件重要的事情必須記住match。它是類型敏感的,而不是作為switch語(yǔ)句。因此,正確地轉(zhuǎn)換變量非常重要。對(duì)于 HTTP 代碼,通常以字符串格式發(fā)送,例如"400"。
當(dāng)我們不知道的時(shí)候,在調(diào)試過(guò)程中可能會(huì)帶來(lái)很多痛苦。如果$statusCode是字符串,則將始終調(diào)用默認(rèn)選項(xiàng)。我對(duì)已接受答案的修改版本:
$message = match((int) $statusCode) {
200, 300 => null,
400 => 'not found',
500 => 'server error',
default => 'unknown status code',
};
- 1 回答
- 0 關(guān)注
- 166 瀏覽
添加回答
舉報(bào)
0/150
提交
取消