在php脚本中声明多个变量以节省空间

时间:2014-02-22 15:30:45

标签: php forms variables

我有一个巨大的形式,并宣布所有这些变量......

$MaidenName= $_POST['MaidenName'];
$PhoneHome= $_POST['PhoneHome'];
$SSN= $_POST['SSN'];
$BirthPlace= $_POST['BirthPlace'];
$DOB= $_POST['DOB'];
$Email= $_POST['Email'];
$MaritalStatus= $_POST['MaritalStatus'];  +many more...

我希望我可以在同一行上声明它们只是为了节省脚本中的空间,可能是一个逗号,但那不行......还有另外一种方法吗?

4 个答案:

答案 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