验证PHP表达式
我的PHP代码是:验证PHP表达式,php,Php,我的PHP代码是: $userAnswers = array( // you would get these values via $_POST["answers"] "s1" => array( "q1" => $_POST['S1Q1'], "q2" => $_POST['S1Q2'] ), "s2" => array( "q1"
$userAnswers = array( // you would get these values via $_POST["answers"]
"s1" => array(
"q1" => $_POST['S1Q1'],
"q2" => $_POST['S1Q2']
),
"s2" => array(
"q1" => $_POST['S2Q1'],
"q2" => $_POST['S2Q2'],
"q3" => $_POST['S2Q3'],
"q4" => $_POST['S2Q4']
),
"s3" => array(
"q1" => $_POST['S3Q1'],
"q2" => $_POST['S3Q2'],
"q3" => $_POST['S3Q3'],
"q4" => $_POST['S3Q4'],
"q5" => $_POST['S3Q5']
),
);
$q001 = $_POST['S1Q1'];
$q002 = $_POST['S1Q2'];
$q003 = $_POST['S2Q1'];
$q004 = $_POST['S2Q2'];
$q005 = $_POST['S2Q3'];
$q006 = $_POST['S2Q4'];
$q007 = $_POST['S3Q1'];
$q008 = $_POST['S3Q2'];
$q009 = $_POST['S3Q3'];
$q010 = $_POST['S3Q4'];
$q011 = $_POST['S3Q5'];
$savearray = array($q001, $q002, $q003, $q004, $q005, $q006, $q007, $q008, $q009, $q010, $q011);
$_SESSION['annual'] = $savearray;
我想如果我有很多问题,并且我已经进入了两次帖子,并且正在考虑如何用以下内容替换第二次出现的$\u POST[]
,那将是非常乏味和耗时的:
$userAnswers[$s][$q]
从$q001
开始向前的顺序是否正确?这样,$\u POST[]
只调用一次
比如说:
$q001 = $userAnswers[$s][$q];
$q002 = $userAnswers[$s][$q];
$q003 = $userAnswers[$s][$q];
$q004 = $userAnswers[$s][$q];
$q005 = $userAnswers[$s][$q];
$q006 = $userAnswers[$s][$q];
$q007 = $userAnswers[$s][$q];
$q008 = $userAnswers[$s][$q];
$q009 = $userAnswers[$s][$q];
$q010 = $userAnswers[$s][$q];
$q011 = $userAnswers[$s][$q];
认为我可能必须使用foreach
语句
foreach () { }
类似这样的工作原理:
$userAnswers["s1"]["q1"]
For循环:
for ($sNumber = 1; $sNumber <= 2 ; $sNumber+1){
for ($qNumber = 1; $qNumber <= 2 ; $qNumber+1){
$sTemp = "s" + $sNumber;
$qTemp = "q" + $qNumber;
echo $userAnswers[$sTemp][$qTemp];
}
}
for($sNumber=1;$sNumber根据您输入/输出结果的方式对其进行自定义
<form action="" method="post">
<input name="s1[1]" type="text" value="">
<input name="s1[]" type="text" value="">
<input name="s2[1]" type="text" value="">
<input name="s2[]" type="text" value="">
<input name="jello" type="submit" value="send">
</form>
<?php
foreach ($_POST['s1'] as $k=>$v)
{
echo "Qs1 answer $k is $v";
}
foreach ($_POST['s2'] as $k=>$v)
{
echo "Qs2 answers $k is $v";
}
?>
在PHP中查找“循环”?请注意只接受您期望的POST值-您希望将它们与模式匹配,或者使用其他方法检查它是否是您期望的输入。否则,您的脚本可能容易受到SQL注入攻击。因此类似这样:trim(strip_标记(stripslashes($\u POST['S1Q1'))
虽然它们是单选按钮,但还是为了安全起见才这样做。我没有使用SQL,只是在将输入与答案表进行比较后发送电子邮件。因此我不需要使用foreach?我想混淆的是,我没有尝试在任何地方显示结果。请查看我更新的问题。我想混淆的是,我没有尝试ng以在任何地方显示结果。请查看我的更新问题。