2 回答
TA贡献1828条经验 获得超3个赞
您可以拥有一个交叉引用组合的数组,而不是拥有不断扩展的 ifif或语句组合列表。switch然后测试特定组合是否存在并使用页面的查找值...
$pages = ["date" => [1 =>'profile/report_view/page1',
2 =>'profile/report_view/page2'],
"week" => [1 =>'profile/report_view/page3',
2 =>'profile/report_view/page4']
];
if ( isset($pages[$data['params']['by']][$data['params']['cnstr_type']])) {
$this->load->view($pages[$data['params']['by']][$data['params']['cnstr_type']], $data);
}
如果唯一的变化是结尾的编号,您甚至可以profile/report_view/page在对$this->load->view().
TA贡献1828条经验 获得超4个赞
您可以使用switch case来简化您的代码
switch([$data['params']['by'],$data['params']['cnstr_type']]){
case ["date","1"]:
$this->load->view('profile/report_view/page1', $data);
break;
case ["date","2"]:
$this->load->view('profile/report_view/page2', $data);
break;
case ["week","1"]:
$this->load->view('profile/report_view/page3', $data);
break;
case ["week","2"]:
$this->load->view('profile/report_view/page4', $data);
break;
}
这将使您的代码看起来更整洁。
- 2 回答
- 0 关注
- 124 浏览
添加回答
举报