2011-08-23 60 views
3

可能重复的名字:
PHP $_POST print variable name along with value得到变量后

我有一个表格(字段的任何数字)..这种形式将发送$ _ POST数据..我想返回每个$ _POST变量的值和名称。

我想要做的soemthing是这样的:在的方式,将显示的字段和这样的价值观

foreach($_POST as $field){ 
    //****some code*****// 
} 

名称:西莫塔基
电子邮件:例如@ ymail。 COM

换句话说

,如果我有一个帖子变量:$ _ POST [“城市”] =“拉斯维加斯”

我想知道如何获得变量的名称:“城市”。

回答

15

$_POST填充为关联数组,所以你可以这样做:

foreach ($_POST as $name => $val) 
{ 
    echo htmlspecialchars($name . ': ' . $val) . "\n"; 
} 

此外,如果你在字段名称只是有兴趣,你可以使用array_keys($_POST);返回所有的数组钥匙用于$_POST。您可以使用这些键来引用$_POST中的值。

foreach (array_keys($_POST) as $field) 
{ 
    echo $_POST[$field]; 
} 
+4

如果这是在HTML页面中,我会在打印这些值之前将它们转义出来:'echo htmlspecialchars(“{$ name}:{$ val} \ n”);' – arnaud576875

+0

谢谢朋友,它解决了:-) – SmootQ

+0

你实际上推荐封装双引号内的变量,没有理由? – AlienWebguy

6

使用扩展的foreach语法:

foreach ($_POST as $key => $value) 
{ 
    echo $key . ": ". $value . "\n"; 
} 
+1

+1得到一个坚实的答案。 – AlienWebguy

+1

这是最好的答案。 – Maverick

+0

我可以使用这种方法用于单选按钮组吗?正如你所知道的单选按钮,我们只需要发布选定的单选按钮? – Furkan

0

我不同意这个职位,因为它假定输出始终用于浏览器。人们不应该养成这种习惯。 \ n是正确的用法,可以在使用nl2br()函数输出(到浏览器)之前轻松转换。

+0

对不起,上面的是AlienWebGuy –