配置类 - 从函数字符串参数获取配置数组

时间:2015-09-17 21:42:24

标签: php arrays singleton

我有这样的功能:

$conf = array ('test_value' => 1, 'test_value2' => 2);
function GetValueArray($array, $value)
{
     return $array[$value];
}

我使用此函数从数组中接收值。我的问题是我不能像这样使用这个函数:

GetValueArray('conf', 'test_value');

我如何将'conf'转换为名为conf的真实数组以接收我的'test_value'?

1 个答案:

答案 0 :(得分:3)

因为函数有自己的作用域,所以一定要“全局化”你正在研究的变量。

但正如Rizier123所说,你可以使用变量周围的括号来动态获取/设置变量。

<?php

$conf = array ('test_value' => 1, 'test_value2' => 2);

function GetValueArray($array, $value)
{
  global ${$array};
  return ${$array}[$value];
}

echo GetValueArray('conf', 'test_value'); // echos '1'
echo GetValueArray('conf', 'test_value2'); // echos '2'


?>