php for循环定义变量,使用for()循环创建唯一的PHP变量

我有一个输入表单,可以让我在数据库中插入一个新的测验。该表单看起来像这样:

Question Title

Question #1

is_correct_1

choice#1

is_correct_2

choice#2

is_correct_3

choice#3

is_correct_4

choice#4

Question #2

.

.

.不同的测验会有不同数量的问题(尽管每个问题总是有4种可能性)。我确定在构建表单之前它会有多少个问题。为了做到这一点,我使用for循环来生成表单。我也以相同的方式初始化不同输入字段的名称。见下文:

// Grab number of questions from Admin page

$num_of_Qs = $_POST['num_of_Qs'];

// Produce form by using for loops

echo '

';

echo '

New Quiz DetailsQuiz Title';

echo '
';

for ($i = 1; $i <= $num_of_Qs; $i++) {

echo 'Question #'.$i.'';

echo '
';

for ($x = 1; $x <= 4; $x++) {

echo 'is_correct_'.$x.'';

echo '
';

echo 'Choice #'.$x.'';

echo '
';

}

}

echo '

';

echo '

';所以,变量最终看起来像这样:

$title

$question_1

is_correct_1_1

choice_1_1 // first question, first choice

is_correct_1_2

choice_1_2 // first question, second choice

...当我通过使用$ _POST函数抓取它们来存储这些变量时,我遇到了麻烦。这是我的代码:

// If user has submitted New Quiz data

if (isset($_POST['create'])) {

$num_of_Qs = $_POST['num_of_Qs'];

$title = $_POST['title'];

for ($i = 1; $i <= $num_of_Qs; $i++) {

$question_$i = $_POST['question_'.$i.''];

for ($x = 1; $x <= 4; $x++) {

$is_correct_$i_$x = $_POST['is_correct_'.$i.'_'.$x''];

$choice_$i_$x = $_POST['choice_'.$i.'_'.$x.''];

}

}

print_r($title);

print_r($question_1);

exit();

}我想知道是否有办法从基于我为变量名确定的结构获取表单中的值。具体问题在于$question_$i = ...。我可以挽救这段代码吗?还是我需要重新思考我命名这些变量的方式?谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值