我有一个foreach循环,打印1-12的数字,每个数字都是对问题和答案的引用。switch语句获取信息并打印摘要。
foreach ($_POST as $name => $value) {
$groupSplit = str_split($name, 5);
// print_r("Group Num: " . $groupSplit[1] . "<br/>");
$optSplit = str_split($value, 3); // splits opt and the num x
// print_r("Option Num " . $optSplit[1] . "<br/>");
switch ($groupSplit[1]) {
case 1:
echo "<h2>" . $group1 . "</h2>" . isEven($optSplit[1] . "<br><button onclick='window.history.back()'>Start Over</button><button>Confirm and Send</button>") ;
break;
case 2:
echo "<h2>" . $group2 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 3:
echo "<h2>" . $group3 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>" ;
break;
case 4:
echo "<h2>" . $group4 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 5:
echo "<h2>" . $group5 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 6:
echo "<h2>" . $group6 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 7:
echo "<h2>" . $group7 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 8:
echo "<h2>" . $group8 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 9:
echo "<h2>" . $group9 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 10:
echo "<h2>" . $group10 . "</h2>" . isEven($optSplit[1]). "<br><button onclick='window.history.back()'>Start Over</button>" ;
break;
case 11:
echo "<h2>" . $group11 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 12:
echo "<h2>" . $group12 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
}
显示摘要后,我想将其以电子邮件的形式发送。由于有多种情况,我需要使开关功能可重复使用的电子邮件。我曾尝试将其存储在一个变量和一个函数值,但它没有工作。
是否有办法在不复制粘贴的情况下多次调用这个switch函数?
谢谢。
我自己做的,问题是函数必须在foreach之前声明。
<?php
$answers = array();
function isEven($number){
if ($number % 2 == 0) {
return "No";
} else {
return "Yes";
}
}
function showSummary(){
$group1 = "q1 ?";
$group2 = "q1 ?";
$group3 = "q1 ?";
$group4 = "q1 ?";
$group5 = "q1 ?";
$group6 = "q1 ?";
$group7 = "Does it archive when Archive is clicked ?";
$group8 = "q1 ?";
$group9 = "Is an Outlook archiving dialogue open ?";
$group10 = "Is Outlook still respnonding ?";
$group11 = "Does it happen all the time ?";
$group12 = "Do you get an error message ?";
foreach ($_POST as $name => $value) {
$groupSplit = str_split($name, 5);
// print_r("Group Num: " . $groupSplit[1] . "<br/>");
$optSplit = str_split($value, 3); // splits opt and the num x
// print_r("Option Num " . $optSplit[1] . "<br/>");
switch ($groupSplit[1]) {
case 1:
echo "<h2>" . $group1 . "</h2>" . isEven($optSplit[1] . "<br><button onclick='window.history.back()'>Start Over</button><button>Confirm and Send</button>") ;
break;
case 2:
echo "<h2>" . $group2 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 3:
echo "<h2>" . $group3 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>" ;
break;
case 4:
echo "<h2>" . $group4 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 5:
echo "<h2>" . $group5 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 6:
echo "<h2>" . $group6 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 7:
echo "<h2>" . $group7 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 8:
echo "<h2>" . $group8 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 9:
echo "<h2>" . $group9 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 10:
echo "<h2>" . $group10 . "</h2>" . isEven($optSplit[1]). "<br><button onclick='window.history.back()'>Start Over</button>" ;
break;
case 11:
echo "<h2>" . $group11 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
case 12:
echo "<h2>" . $group12 . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
break;
}
}
}showSummary();
showSummary();
?>
我需要更多的信息来描述这个函数,但是下面的代码至少更简洁:
if ($groupSplit[1] == 1){
$retVal = "<h2>" . $group1 . "</h2>" . isEven($optSplit[1] . "<br><button onclick='window.history.back()'>Start Over</button><button>Confirm and Send</button>") ;
}
else{
$retVal = "<h2>" . ${"group".$groupSplit[1]} . "</h2>" . isEven($optSplit[1]) . "<br><button onclick='window.history.back()'>Start Over</button>";
}