2011-08-26 88 views
1

我在学习,而且我一直坚持这么久,现在有一些我认为太简单的事情,对不起,如果我是对的。 请帮我发展,我的问题是:当在for循环中回显名称时获取变量值

我从一个表单来:

$text1 = $_POST['TEXT1']; 
    $text2 = $_POST['TEXT2']; 
    $text3 = $_POST['TEXT3']; 

现在我做:

for ($n = 1; $n <= 3; $n++) { 
echo "Number " .$n. " is: " .$text.$n; 
} 

这是印刷:

1号是:1

2号是:2

数3:3

当我需要的是:

1号是:包含值在$ text1的

2号是:包含在$文本2

3号值是:$ text3中包含的值

如何才能实现我所需要的?

非常感谢

回答

0

你可以把你的值到一个数组:

$texts = array($_POST['TEXT1'], $_POST['TEXT2'], $_POST['TEXT3']); 

for ($n = 0; $n < count($texts); $n++) { 
    echo "Number " . ($n+1) . " is: " . $texts[$n]; 
} 
+0

非常感谢,数组! – user712027

+0

不客气!如果它对你有帮助,请选择正确的答案。 :) – Jules

1
for ($n = 1; $n <= 3; $n++) { 
$var = "text".$n; 
echo "Number " .$n. " is: " .$$var; 
} 

,但如果保存在数组中的POST数据还要好

可以像这样做:

$text = array(); 
$text[] = $_POST["TEXT1"]; 
$text[] = $_POST["TEXT2"]; 
$text[] = $_POST["TEXT3"]; 

那么你可以做这样的:

for ($n = 1; $n <= count($text); $n++) { 
echo "Number " .$n. " is: " .$text[$n-1]; 
} 
+1

另请参见:http://php.net/manual/en/language.variables.variable.php 为什么在发送表单后将$ _POST-vars存储到数组中?更好地使用表单字段名称,这会产生数组,例如'' – feeela

1

使用此:

for ($n = 1; $n <= 3; $n++) { 
    echo "Number " .$n. " is: " . ${'text'.$n}; 
}