我正在制作一个表格,其中一些是可选的。为了显示这个表单的输出,我希望能够检查一个 POST 变量是否有内容。如果是,脚本应该创建一个新的普通 PHP 变量,其值和名称与 POST 变量相同,如果不是,它应该创建一个新的普通 PHP 变量,名称相同,但值为“未定义”。这是我到目前为止所拥有的:
function setdefined($var)
{
if (!$_POST[$var] == "")
{
$$var = $_POST[$var]; // This seems to be the point at which the script fails
}
else
{
$$var = "Not defined";
}
}
setdefined("email");
echo("Email: " . $email); // Provides an example output - in real life the output goes into an email.
这个脚本不会抛出任何错误,而只是返回“Email:”,没有指定值。我认为这是我在函数中使用可变变量的方式的问题;以下代码按预期工作,但不太实用:
function setdefined(&$var)
{
if (!$_POST[$var] == "")
{
$var = $_POST[$var];
}
else
{
$var = "Not defined";
}
}
$email = "email"; // As the var parameter is passed by reference, the $email variable must be passed as the function argument
setdefined($email);