想把这个代码更简化一点,不知道有没有更好的办法
$result1 = $modelData->change($tableName);
$A_data = $result1[0];
$part1 = []; // 01-05部分数据
$part2 = []; // 06-10部分数据
$part3 = []; // 11-14部分数据
$part4 = []; // 15-16部分数据
$part5 = []; // 17-18部分数据
$part6 = []; // 19部分数据
$part21 = []; // 01-05部分数据
$part22 = []; // 06-10部分数据
$part23 = []; // 11-14部分数据
$part24 = []; // 15-16部分数据
$part25 = []; // 17-18部分数据
foreach ($A_data as $code => $cumulative) { // 遍历原始数据
// 解析编号后两位
$number = intval(substr($code, -2));
switch ($number) {
case $number >= 1 && $number <= 5: // 01-05部分
$part1['X'][] = $code;
$part1['Y'][] = $cumulative;
break;
case $number >= 6 && $number <= 10: // 06-10部分
$part2['X'][] = $code;
$part2['Y'][] = $cumulative;
break;
case $number >= 11 && $number <= 14: // 11-14部分
$part3['X'][] = $code;
$part3['Y'][] = $cumulative;
break;
case $number >= 15 && $number <= 16: // 15-16部分
$part4['X'][] = $code;
$part4['Y'][] = $cumulative;
break;
case $number >= 17 && $number <= 18: // 17-18部分
$part5['X'][] = $code;
$part5['Y'][] = $cumulative;
break;
case $number = 19: // 19部分
$part6['X'][] = $code;
$part6['Y'][] = $cumulative;
break;
}
if ($number == 1 or $number == 6 or $number == 11) {
$part21['X'][] = $code;
$part21['Y'][] = $cumulative;
}
else if ($number == 2 or $number == 7 or $number == 12 or $number == 15 or $number == 17 or $number == 19) {
$part22['X'][] = $code;
$part22['Y'][] = $cumulative;
}
else if ($number == 3 or $number == 8 or $number == 13 or $number == 16 or $number == 18) {
$part23['X'][] = $code;
$part23['Y'][] = $cumulative;
}
else if ($number == 4 or $number == 9 or $number == 14) {
$part24['X'][] = $code;
$part24['Y'][] = $cumulative;
}
else if ($number == 5 or $number == 10) {
$part25['X'][] = $code;
$part25['Y'][] = $cumulative;
}
}
// 第二次查询
$result2 = $modelData->change($tableName);
$B_data = $result2[1];
$part7 = [];
$part8 = [];
$part9 = [];
$part10 = [];
$part11 = [];
$part12 = [];
$part26 = [];
$part27 = [];
$part28 = [];
$part29 = [];
$part30 = [];
foreach ($B_data as $code => $variation) {
// 解析编号后两位
$number = intval(substr($code, -2));
switch (true) {
case $number >= 1 && $number <= 5:
$part7['X'] = ['1000','1500','2000','2500','3000','3500'];
$part7['Y'][] = $variation;
break;
case $number >= 6 && $number <= 10:
$part8['X'] = ['1000','1500','2000','2500','3000','3500'];
$part8['Y'][] = $variation;
break;
case $number >= 11 && $number <= 14:
$part9['X'] = ['1000','1500','2000','2500','3000','3500'];
$part9['Y'][] = $variation;
break;
case $number >= 15 && $number <= 16:
$part10['X'] = ['1000','1500','2000','2500','3000','3500'];
$part10['Y'][] = $variation;
break;
case $number >= 17 && $number <= 18:
$part11['X'] = ['1000','1500','2000','2500','3000','3500'];
$part11['Y'][] = $variation;
break;
case $number = 19:
$part12['X'] = ['1000','1500','2000','2500','3000','3500'];
$part12['Y'] = $variation;
break;
}
if ($number == 1 or $number == 6 or $number == 11) {
$part26['X'] = ['1000','1500','2000','2500','3000','3500'];
$part26['Y'][] = $variation;
}
else if ($number == 2 or $number == 7 or $number == 12 or $number == 15 or $number == 17 or $number == 19) {
$part27['X'] = ['1000','1500','2000','2500','3000','3500'];
$part27['Y'][] = $variation;
}
else if ($number == 3 or $number == 8 or $number == 13 or $number == 16 or $number == 18) {
$part28['X'] = ['1000','1500','2000','2500','3000','3500'];
$part28['Y'][] = $variation;
}
else if ($number == 4 or $number == 9 or $number == 14) {
$part29['X'] = ['1000','1500','2000','2500','3000','3500'];
$part29['Y'][] = $variation;
}
else if ($number == 5 or $number == 10) {
$part30['X'] = ['1000','1500','2000','2500','3000','3500'];
$part30['Y'][] = $variation;
}
}
//第三次查询
$result3 = $modelData->change($tableName);
$C_data = $result3[2];
$part13 = []; // 01-05部分数据
$part14 = []; // 06-10部分数据
$part15 = []; // 11-14部分数据
$part16 = []; // 15-16部分数据
$part17 = []; // 17-18部分数据
$part18 = []; // 19部分数据
$part31 = []; // 01-05部分数据
$part32 = []; // 06-10部分数据
$part33 = []; // 11-14部分数据
$part34 = []; // 15-16部分数据
$part35 = []; // 17-18部分数据
foreach ($C_data as $code => $level) { // 遍历原始数据
// 解析编号后两位
$number = intval(substr($code, -2));
switch (true) {
case $number >= 1 && $number <= 5: // 01-05部分
$part13['X'] = ["3000","3080","3160","3240","3320","3400"];
$part13['Y'][] = $level;
break;
case $number >= 6 && $number <= 10: // 06-10部分
$part14['X'] = ["3000","3080","3160","3240","3320","3400"];
$part14['Y'][] = $level;
break;
case $number >= 11 && $number <= 14: // 11-14部分
$part15['X'] = ["3000","3080","3160","3240","3320","3400"];
$part15['Y'][] = $level;
break;
case $number >= 15 && $number <= 16: // 15-16部分
$part16['X'] = ["3000","3080","3160","3240","3320","3400"];
$part16['Y'][] = $level;
break;
case $number >= 17 && $number <= 18: // 17-18部分
$part17['X'] = ["3000","3080","3160","3240","3320","3400"];
$part17['Y'][] = $level;
break;
case $number = 19: // 19部分
$part18['X'] = ["3000","3080","3160","3240","3320","3400"];
$part18['Y'] = $level;
break;
}
if ($number == 1 or $number == 6 or $number == 11) {
$part31['X'] = ["3000","3080","3160","3240","3320","3400"];
$part31['Y'][] = $level;
}
else if ($number == 2 or $number == 7 or $number == 12 or $number == 15 or $number == 17 or $number == 19) {
$part32['X'] = ["3000","3080","3160","3240","3320","3400"];
$part32['Y'][] = $level;
}
else if ($number == 3 or $number == 8 or $number == 13 or $number == 16 or $number == 18) {
$part33['X'] = ["3000","3080","3160","3240","3320","3400"];
$part33['Y'][] = $level;
}
else if ($number == 4 or $number == 9 or $number == 14) {
$part34['X'] = ["3000","3080","3160","3240","3320","3400"];
$part34['Y'][] = $level;
}
else if ($number == 5 or $number == 10) {
$part35['X'] = ["3000","3080","3160","3240","3320","3400"];
$part35['Y'][] = $level;
}
}
return view("index/safty/planes/".$type."_".$module."_".$action."_".$plane, compact('left','right'))->with('data', [])->with('instruments_name', 'xxxxx')->with('part1', json_encode($part1, true))->with('part2', json_encode($part2, true))->with('part3', json_encode($part3, true))->with('part4', json_encode($part4, true))->with('part5', json_encode($part5, true))->with('part6', json_encode($part6, true))->with('part7',json_encode($part7,true))->with('part8',json_encode($part8,true))->with('part9',json_encode($part9,true))->with('part10',json_encode($part10,true))->with('part11',json_encode($part11,true))->with('part12',json_encode($part12,true))->with('part13',json_encode($part13,true))->with('part14',json_encode($part14,true))->with('part15',json_encode($part15,true))->with('part16',json_encode($part16,true))->with('part17',json_encode($part17,true))->with('part18',json_encode($part18,true))->with('part21',json_encode($part21,true))->with('part22',json_encode($part22,true))->with('part23',json_encode($part23,true))->with('part24',json_encode($part24,true))->with('part25',json_encode($part25,true))->with('part26',json_encode($part26,true))->with('part27',json_encode($part27,true))->with('part28',json_encode($part28,true))->with('part29',json_encode($part29,true))->with('part30',json_encode($part30,true))->with('part31',json_encode($part31,true))->with('part32',json_encode($part32,true))->with('part33',json_encode($part33,true))->with('part34',json_encode($part34,true))->with('part35',json_encode($part35,true));
}
不知道你这个问题是否已经解决, 如果还没有解决的话:scene 字段的值会作为 query 参数传递给小程序/小游戏。
用户扫描该码进入小程序/小游戏后,开发者可以获取到二维码中的 scene 值,再做处理逻辑。
调试阶段可以使用开发工具的条件编译自定义参数 scene=xxxx 进行模拟。
开发工具模拟时的 scene 的参数值需要进行 encodeURIComponent
Page({
onLoad (query) {
// scene 需要使用 decodeURIComponent 才能获取到生成二维码时传入的 scene
const scene = decodeURIComponent(query.scene)
}
})
更多功能查看
官方文档。欢迎大神指教
百度