我已经在这里待了两个小时,也许我可以请一些帮助。
好吧,所以我有一个用户提交的基本$ _POST变量。如下所示,代码首先检查是否提交了值,如果没有,则将其设置为默认值。如果用户确实提交了值,则会将变量(稍后使用)设置为提交的值。你可以在下面看到我的代码。
if(!isset($_POST['pSize'])) {
$pSize = "16";
}
else {
$pSize = ($_POST['pSize']);
};
echo $pSize;
上面的问题是我可能有50个左右的区域,用户将提交,并且只有myFunction('name','default','value');
比为每个区域写出上述内容要好得多。但是,我遇到了一个问题。以下是我尝试过的几个例子。 (原谅任何小错误;我没有我尝试过的实际代码,只是我所得到的代码。我遇到的代码问题不是语法错误。)
function newFunction($title, $default, $value)
if(!isset($_POST[$value])) {
$title = $default;
}
else {
$title = ($_POST[$value]);
};
newFunction('pSize','16,'24');
echo $pSize;
我很快就了解到,由于函数中的变量不能在该函数之外使用,除非它们是全局函数,否则上述函数将无效。这是有道理的,因为如果可以使用变量$title
,它将被设置为许多不同的东西,这取决于我调用函数的次数。考虑到这些,我试图设置全局变量。
function newFunction($title, $default, $value)
if(!isset($_POST[$value])) {
global $title . 'Title' = $title;
...
newFunction('pSize','16,'24');
echo $pSizeTitle;
我最后尝试将全局变量设置为我为函数提供的$title
的名称,其字符串为'Title',创建新的全局变量pSizeTitle
,因此我可以回显该变量出。这可能实际上是有效的,除了我无法定义一个全局变量,附加到最后的东西,只有一个简单的名称,这对我不起作用,因为我需要为每个{{我需要一个新的全局变量我有一个项目。
希望这很清楚,对不起,如果这是一个绝对的noob问题,我真的无法超越这个。
答案 0 :(得分:3)
我认为主要的问题是你没有在你的函数中返回任何数据,试着去做
function newFunction($title, $default, $value)
{
if(!isset($_POST[$value])) {
$title = $default;
} else {
$title = ($_POST[$value]);
}
return $title;
//return was missed
}
答案 1 :(得分:0)
function checkDefault($index, $default)
{
return isset($_POST[$index]) ? $_POST[$index] : $default;
}
$title = checkDefault("title", "my default value");