命名多个变量以供以后在函数中使用

时间:2013-06-04 21:46:55

标签: php function variables configuration-files

我的函数必须处理大量的变量(20+)。由于这个数字变得越来越笨重,每次我必须调用函数时,我正在寻求对每个活动变量的传统声明的改进,例如:      MyFunction($var1,$var2,$var3,$var4,$var5,$var6,$var7,$var8,$var9,$var10......);

我正在尝试编写更好的模块化代码,我可以有效地重复使用它。作为改进,有没有办法将这些许多变量的名称折叠成一个单独的“配置文件”,以便我可以在需要时更干净地调用此函数...例如?
[在单独的配置文件中:] $AllOfMyVariables = 'var1,var2,var3,var4,var5,var6,var7,var8,var9,var10';

...然后在需要时简单地调用MyFunction($AllOfMyVariables);

我一直无法成功做到这一点。我试过通过大括号传递变量名,但似乎无法使变量名/值正确传递。有什么建议?

3 个答案:

答案 0 :(得分:1)

您可以在这样的数组中声明所有配置变量,其中键是变量名,值是变量的值。

$AllOfMyVariables = array(
  'var1' => 'value1',
  'var2' => 'value2',
  'var3' => 'vaule3');

如果您愿意,可以将该数组存储在单独的PHP文件中,然后在需要时将其require()编辑。然后你可以将这个数组传递给你的函数并使用提取函数。

function MyFunction($AllOfMyVariables) {
    extract($AllOfMyVariables);
//Do ALL the things!
}

现在$ var1 ='value1'等等。

答案 1 :(得分:0)

有两种可能性,第一种是用户1612290提到的。

第二个是使用参数数组,比如

$arr = array($var1, $var2, ...);

$arr = array('var1' => $var1, 'var2' => $var2, ...);

并通过

调用该函数
MyFunction($arr);

类似的方法是使用对象,所以

$object = new stdClass;
$object->var1 = $var1; // and so on.

答案 2 :(得分:0)

我建议您使用数组,在PHP中可以在数组中添加不确定数量的值

$param[0]="zero";
$param[1]="one";

...

您可以调用您的函数:

MyFunction($param);

你可以去所有阵列:

foreach($param as $key => $value)

数组的键是$ value,值是$ param [$ key]