自动化 PHP Switch 语句

我正在用 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";

}


桃花长相依
浏览 71回答 1
1回答

30秒到达战场

您可以将所有项目映射到一个数组中$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";
打开App,查看更多内容
随时随地看视频慕课网APP