我正在用 PHP 生成某些項目。長話短說 - 我將帶有漂亮工具提示的對象保存到變量中。我生成了 100 多個項目。所以我有一個巨大的下拉 html 選擇所有項目。當用戶選擇所需的項目時,他會轉到“生成”按鈕。在后端,我收到回復,我想退回客戶選擇的商品。我正在考慮一個 switch 語句,它對應于 html 選擇的名稱值,并且我將它與我的變量中的正確項目相匹配。測試它工作得很好。但是,如果我想包括我的所有物品,這將意味著數百個開關盒。如果 Switch 是我唯一可行的選擇,我很好,但是有什么方法可以自動創建 switch cases 嗎?否則我需要去手動寫下所有的開關盒switch ($helm){ case "harle": $helm = $random_harle; break; case "eth_harle": $helm = $random_harle_eth; break; case "perfect_harle": $helm = $perfect_harle; break; case "perfect_harle_eth": $helm = $perfect_harle_eth; break; // and a 100+ more of these default: $helm = "None";}
1 回答

30秒到達戰場
TA貢獻1828條經驗 獲得超6個贊
您可以將所有項目映射到一個數組中
$myitems = ["harle" => $random_harle,
.....
];
然后使用
foreach ($myitems as $key => $value)
{
if ($key == $helm)
return $value;
}
return "None";
這將測試給定$helm的$key. 如果有匹配你返回$value。
在循環(不匹配)之后,您可以返回默認值。
此外,正如 CBroe 所建議的那樣,一個較短的版本將是
if (array_key_exists($helm, $myitems))
return $myitems[$helm];
return "None";
- 1 回答
- 0 關注
- 98 瀏覽
添加回答
舉報
0/150
提交
取消