2011-10-31 34 views
3

我相信有更好的方法将所有_POST参数映射到具有相同名称的变量。有人知道如何更好地做到这一点吗?将_POST参数映射到变量的更好方法

$ownerName = $_POST["ownerName"]; 
$ownerEmail = $_POST["ownerEmail"]; 
$ownerPhone = $_POST["ownerPhone"]; 
$ownerAddress = $_POST["ownerAddress"]; 
$buyerName = $_POST["buyerName"]; 
$buyerEmail = $_POST["buyerEmail"]; 
$buyerPhone = $_POST["buyerPhone"]; 
$buyerAddress = $_POST["buyerAddress"]; 
$propertyAddress = $_POST["propertyAddress"]; 
$parcelNumber = $_POST["parcelNumber"]; 

非常感谢。

回答

7

有一个PHP函数extract的值增值经销商:

<?php 
extract($_POST, EXTR_SKIP); 
?> 
+0

哇,我今天新的东西学到的价值观。好奇如何安全这真的是什么?例如,如果我有一个布尔型'$ authorized',有人用'authorized = true'发帖会覆盖那个值。 –

+0

哇!非常感谢你的完美答案,并且对于帮助n00b。= D – Crossdiver

+0

@Amir你有第二个参数可以避免..我把“EXTR_SKIP”的一个将做..如果var已经存在,不要覆盖。 – SERPRO

2

您可以使用foreach这种方式(不同于extract你可以操纵/检查变量名称或

<?php 
foreach($_POST as $key => $value) 
    $$key = $value; 
?>