【问题标题】:PHP form Loop VariablesPHP 表单循环变量
【发布时间】:2012-06-27 16:11:46
【问题描述】:

我正在开发一个 PHP 表单,它允许用户向表中添加行,然后使用表单通过电子邮件提交信息。我需要将变量传递到电子邮件中。我试过用这个:

$n = count($type);
$i = 0;
for ($i = 0; $i < $n; $i++){
    $e_classes = "______________________________________________ \r\n\n";
    $e_classes .=  "Class Type: {$type[$i]} \r\n";
    $e_classes .= "Number of Classes: {$nc[$i]} \r\n";
    $e_classes .= "Number of Students: {$sc[$i]} \r\n";
    $e_classes .= "______________________________________________ \r\n\n";
}

但是当我收到电子邮件时,只显示表格中的最后一个。如何让所有添加的表格行显示?如果我使用“echo”,我可以让一切正常工作,但我需要将所有内容都传递到一个可用于电子邮件的变量中。

【问题讨论】:

  • $e_classes = "的第一个实例更改为$e_classes .= "
  • 每次进入 for 循环时,都会覆盖 $e_classes 变量

标签: php email variables loops


【解决方案1】:

像这样:

$e_classes = '';
$n = count($type);
$i = 0;
for ($i = 0; $i < $n; $i++){
    $e_classes .= "______________________________________________ \r\n\n";
    $e_classes .=  "Class Type: {$type[$i]} \r\n";
    $e_classes .= "Number of Classes: {$nc[$i]} \r\n";
    $e_classes .= "Number of Students: {$sc[$i]} \r\n";
    $e_classes .= "______________________________________________ \r\n\n";
}

变量$e_classes 在循环中的第一个条目是删除她之前的内容,因为您使用的是$e_classes = 而不是$e_classes .=

这意味着在每次循环之前,您的变量都会被重置为第一行的值。

你正在这样做:

$Var = '';
for($i = 0, $i < n; $i++){
    $Var = 'a';
}

// Loop 1
$Var = 'a';

// Loop 2
$Var = 'a';

// Loop 3
$Var = 'a';

你想要这个:

$Var = '';
for($i = 0, $i < n; $i++){
    $Var .= 'a';
}

// Loop 1
$Var = 'a';

// Loop 2
$Var = 'aa';

// Loop 3
$Var = 'aaa';

符号= 将用新的值覆盖变量的值。

符号.= 会将值附加到变量的末尾。

【讨论】:

  • 太棒了!非常感谢您的帮助,完美运行!
  • @blutick 欢迎您。请标记为已回答问题。谢谢。
猜你喜欢
  • 1970-01-01
  • 2014-01-09
  • 2020-11-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 2012-12-20
  • 2013-05-15
  • 1970-01-01
相关资源
最近更新 更多