php - if或者switch的选择
PHP中文网
PHP中文网 2017-04-10 18:00:16
0
4
721

我要做一个查询订单的接口,比如 :
$r_type 可能为1234这四个值 1:食品 2:水果 3:香烟 4:酒水
$f_type 可能为12两个值 1:我购买的 2:我要卖的
分别对应8个数据表

怎么在接受这两个数据时确定数据表,if或者switch套switch,哪个方法的效率更高一点?或者有没有其他更高效的方法?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复 (4)
左手右手慢动作

拙见:
反过来 根据 $f_type 确认 $r_type switch

    大家讲道理

    可变函数
    $r_type()。直接这样调用。
    然后定义函数。function 1(){} function 2(){} function 3(){} function 4(){}

      刘奇

      第一种情况:

      按照语义分析的话,四种情况是并行的,可以用switch来表示四种分支

      第二种情况:

      买和卖是两种相对的状态,对立或者相对的两种情况用if则会表示方便. 拙见,如果在性能上考虑两个情况,我不知道....
        Peter_Zhu

        最差的情况, 你的表名毫无规律。

        $tableMap = array( '1-1' => '我购买的-食品', '1-2' => '我购买的-水果', '1-3' => '我购买的-香烟', '1-4' => '我购买的-酒水', '2-1' => '我要买的-食品', '2-2' => '我要买的-水果', '2-3' => '我要买的-香烟', '2-4' => '我要买的-酒水', ); $tableName = $tableMap["{$f_type}-{$r_type}"];

        好点的情况, 表名格式为(我要买的|我购买的)_(食品|水果|香烟|酒水)

        $actionMap = array(1=>'我购买的',2=>'我要买的'); $catMap = array(1=>'食品',2=>'水果', 3=>'香烟', 4=>'酒水'); $tableName = $actionMap[$f_type].'_'.$catMap[$r_type];

        最好的情况,我看懂了题主的意思~~~
        总之, 我的宗旨是少用if,不用switch是我的宗旨~~~

          最新下载
          更多>
          网站特效
          网站源码
          网站素材
          前端模板
          关于我们 免责声明 Sitemap
          PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!