我只是想就最佳解决方案提供一些意见 - 对于下面的问题有效。
例如,假设我有 6 个不同的类别。在这些类别中,您有 5 到 6 个选择。根据您在每个类别中选择的内容,会产生不同的结果。你会通过做很多 if 逻辑、数组或其他方法来解决这个问题吗?
我的想法是做 switch 语句或 if 逻辑。这是最好的方法吗?
我只是想就最佳解决方案提供一些意见 - 对于下面的问题有效。
例如,假设我有 6 个不同的类别。在这些类别中,您有 5 到 6 个选择。根据您在每个类别中选择的内容,会产生不同的结果。你会通过做很多 if 逻辑、数组或其他方法来解决这个问题吗?
我的想法是做 switch 语句或 if 逻辑。这是最好的方法吗?
如果你做了这样的布局:
switch($cat1){
case 1:
switch($cat2){
case 1:
...
break;
}
break;
case 2:
...
break;
}
或这个:
if($cat1 == 1){
if($cat2 == 1){
...
}elseif($cat2 == 2){
...
}
}elseif($cat1 == 2){
...
}
无论哪种方式,您都需要超过 100,000 行代码来处理逻辑。哎呀。但是,如果您有 6 个类别,每个类别有 6 个选项,那么您总共有 46,656 种不同的组合。6^6。如果您的网站连接到数据库,您可以执行类似的操作来帮助您。
$layout = $cat1 . $cat2 . $cat3 . $cat4 . $cat5 . $cat6;
//making $layout 315632 or whatever based on what they select.
在您的数据库中,您可以创建一个表,其中 id 与 $layout 匹配,并将您的显示信息保存在数据库中的行中。
-------------------------------------
| id | name | make | year | model |
|--------|------|------|------|-------|
| 111111 | Aero | S2 | 2011 | M-110 |
| 111112 | .... | .... | .... | ..... |
| 111113 | .... | .... | .... | ..... |
-------------------------------------
然后使用简单的行查找在 php.ini 中获取结果。当然,将所有信息放入数据库需要相当长的时间,但无论如何在 php 文件中创建逻辑也需要相当长的时间。就用户实际使用您的站点而言,这将是最快的方式,并且它将使您更容易调试。
如果你不能做到这一点,下一个最快的赌注(如果你能保持一切顺利的话)是有一个 6 嵌套的 if/elseif 语句。这将为您提供的最多检查将是 36,但它可能会更少,具体取决于用户选择的内容。switch-case 也可以工作,但它们比 if/elseif 语句有点混乱。