我被要求写一个小
PHP脚本,从一些下拉框中获取一些POSTed输入,这些输入提供了一些可选标准,最后,吐出一个或多个包含唯一代码的字符串变量.
变量名称的形式为$thingPlaceType,每个变量名称都是唯一的.下拉框允许选择:
>一个“东西”或所有“东西”在一起
>一个“地方”或所有“地方”在一起
>一个“类型”或所有“类型”在一起
我无法弄清楚如何选择这些代码而不依赖于我所做的嵌套switch语句
switch($_POST['thing'])
{
case "thing1":
switch($_POST['place'])
{
case "place1":
switch($_POST['type'])
{
case "type1":
$output = $thing1Place1Type1;
case "type2":
$output = $thing1Place1Type2;
case "alltypes":
$output = $thing1Place1Type1.$thing1Place1Type2.$thing1PlaceType3;
}
case "place2":
...
case "allplaces":
...
}
case "thing2":
switch($_POST['place'])
{
case "place1":
switch($_POST['type'])
{
case "type1":
$output = $thing1Place1Type1;
...
...
...
}
似乎代码变成了Arrow Anti-Pattern.我想我可能会使用多维数组做一些事情,或者可能是一个单独的数组,我将值与键匹配.但是我觉得那紧抓着稻草,必须有一些我不知道的东西.是时候将字符串转换为具有属性的正确对象了吗?