我有这样的功能:
$conf = array ('test_value' => 1, 'test_value2' => 2);
function GetValueArray($array, $value)
{
return $array[$value];
}
我使用此函数从数组中接收值。我的问题是我不能像这样使用这个函数:
GetValueArray('conf', 'test_value');
我如何将'conf'转换为名为conf的真实数组以接收我的'test_value'?
答案 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'
?>