У меня есть такая функция:
$conf = array ('test_value' => 1, 'test_value2' => 2); function GetValueArray($array, $value) { return $array[$value]; }
Я использую эту функцию для получения значения из массива. Моя проблема в том, что я не могу использовать эту функцию следующим образом:
GetValueArray('conf', 'test_value');
Как я могу преобразовать 'conf' в реальный массив с именем conf для получения моего 'test_value'?
Поскольку функции имеют свою собственную область действия, обязательно «глобализуйте» переменную, в которую вы смотрите.
Но, как сказал 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' ?>