我有一个巨大的形式,并宣布所有这些变量......
$MaidenName= $_POST['MaidenName'];
$PhoneHome= $_POST['PhoneHome'];
$SSN= $_POST['SSN'];
$BirthPlace= $_POST['BirthPlace'];
$DOB= $_POST['DOB'];
$Email= $_POST['Email'];
$MaritalStatus= $_POST['MaritalStatus']; +many more...
我希望我可以在同一行上声明它们只是为了节省脚本中的空间,可能是一个逗号,但那不行......还有另外一种方法吗?
答案 0 :(得分:1)
当你选择另一个答案的时候,我正在写这个,但无论如何它都在这里:
$item = array('MaidenName', 'PhoneHome', 'SSN', 'BirthPlace', 'DOB', 'Email', 'MaritalStatus');
foreach ($item as $key => $value)
{
$key = $value;
echo $key . "\n"; // this line is just for testing
$_POST['$value'];
}
这是一种更专业的方式。
答案 1 :(得分:1)
我看到有一个已接受的答案,但仍希望分享一种“无法预见”的方式:
extract(array_intersect_key($_POST, array_flip(['a','b','c'])));
这将从$ _POST创建$ a,$ b和$ c变量,忽略所有其他键
答案 2 :(得分:0)
您可以使用数组。这是一个例子:
<?php
$array = array("favfruit"=>"apple","favcar"=>"ford","favgal"=>"sally","favsite"=>"stackoverflow");
print $array['favfruit'];
?>
或者您的实例:
<?php
$personaldetails = array("MaidenName"=>$_POST['MaidenName'],"PhoneHome"=>$_POST['PhoneHome'],"SSN"=>$_POST['SSN'],"BirthPlace"=>$_POST['BirthPlace'],"DOB"=>$_POST['DOB'],"Email"=>$_POST['Email'],"MaritalStatus"=>$_POST['MaritalStatus']);
print $personaldetails['MaidenName']; // This is how you would reference the array later
?>
答案 3 :(得分:0)
您还可以在foreach
上执行$_POST
。
foreach ($_POST as $key => $value){
$$key = $value; // mention the double $ sign. It wil create variable variable names
}
有关工作示例,请参阅http://phpfiddle.org/main/code/m7r-gyw。