我需要将大约30个变量传递给3个函数,例如
displayform() - 从DB中提取某些表单数据,并且需要将一些表单数据输入到表单中。
checkform() - 检查是否正确输入了所有数据。
errors() - 这将显示错误(如果有的话)
processform() - 此过程将所有数据存储到DB
现在我正在使用GLOBAL $变量;在函数之间传递这些变量,但是我必须在函数begin处将每个变量声明为全局并且导致一个大文件,所以我只想知道有没有办法将变量声明为全局变量(最好只有一次)所以所有功能都可以使用它们吗?
答案 0 :(得分:4)
您可以尝试将所有变量放入关联数组中,只需在函数之间传递此数组,例如:
$omgArray = array();
$omgArray['lolVar1'] = lolVar1;
$omgArray['wowVar3'] = wowVar3;
yeaaaFunction($omgArray);
function yeaaaFunction($omgArray){
echo $omgArray['lolVar1'] . $omgArray['wowVar3'];
}
答案 1 :(得分:2)
使用数组并将数组作为参数传递给函数:
$vars = array(
'var1' => 'value1',
'var2' => 'value2',
///...
);
displayform($vars);
//etc.
答案 2 :(得分:0)
我有一个类似的场景,我为类似于你的表单处理编写了一个类库。我将所有表单数据存储在表单类内部的单个数组中。
在表格外部移动表单数据时,我将数组序列化为JSON格式。 JSON格式(通过PHP自己的序列化格式)的优点是它可以很好地处理嵌套数组。您还可以在一次调用中转换所有表单域的字符集。
在我的应用程序中,我将所有表单数据存储为数据库中的JSON字符串。但我猜这一切都取决于你的需求。
答案 3 :(得分:0)
您可能希望阅读有关注册表模式的信息,具体取决于您的数据,它可能有用或无用。