我有以下问题。我想创建一个循环,将字符串变量的值设置为:textBox + number
,例如textBox2
。我现在有这个代码:
<?php
$counter=$_POST["Counter"];
While ($counter > 0){
(string)$textbox='textBox'+(string)$counter;
$referent = $_POST[$textbox];
echo $referent;
$counter = $counter - 1;
}
但出现以下错误:
Warning: A non-numeric value encountered in C:\xampp\htdocs\Eventtool\add_new_element.php on line 5
Notice: Undefined offset: 2 in C:\xampp\htdocs\Eventtool\add_new_element.php on line 6
Warning: A non-numeric value encountered in C:\xampp\htdocs\Eventtool\add_new_element.php on line 5
Notice: Undefined offset: 1 in C:\xampp\htdocs\Eventtool\add_new_element.php on line 6
有人可以帮助我,我没有得到解决方案。
谢谢:)
答案 0 :(得分:0)
正如评论中已经注意到的,php中的字符串连接是用.
完成的,如果你做了一些连接,php会将变量的值转换为字符串。因此,您可以将while
简化为:
while ($counter > 0){
$textbox = 'textBox' . $counter;
$referent = $_POST[$textbox];
echo $referent;
$counter = $counter - 1;
}
另外,正如我所看到您迭代$_POST
类似命名的变量:textBox1
,textBox2
,textBox3
等,我建议您重建您的HTML表单并在文本框名称中使用[]
<textarea name="textBox[]"></textarea>
<textarea name="textBox[]"></textarea>
<textarea name="textBox[]"></textarea>
在这种情况下,您可以使用简单的$_POST['textBox']
迭代foreach
:
foreach ($_POST['textBox'] as $textbox) {
echo $textbox;
}
另外,如您所见,此处您不需要$_POST['counter']
。