为了账号安全,请及时绑定邮箱和手机立即绑定

自动化 PHP Switch 语句

自动化 PHP Switch 语句

PHP
桃花长相依 2023-04-21 09:52:33
我正在用 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";


查看完整回答
反对 回复 2023-04-21
  • 1 回答
  • 0 关注
  • 55 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信