TunaFFish
TunaFFish

Reputation: 11302

PHP variable in variable

I have set an array in my config file that I use global in my functions.
This works fine, but now I want to pass the name of this array as a @param in my function.

// in config file:
$album_type_arr = array("appartamento", "villa");   

global $album_type_arr; // pull in from db_config
echo $album_type_arr[0];

function buildmenu($name) {
    $test = global $name . "_arr";
    echo $test[0];
}
buildmenu("album_type");

Upvotes: 0

Views: 224

Answers (2)

Nicolò Martini
Nicolò Martini

Reputation: 5220

You can use "variable variables". This works:

function buildmenu($name) {
   global ${$name. '_arr'};
   $test = ${$name. '_arr'};
   echo $test[0];
}

Upvotes: 0

Kevin Vaughan
Kevin Vaughan

Reputation: 15170

You're looking for variable variables:

http://www.php.net/manual/en/language.variables.variable.php

function buildmenu($name) {
    $test = $name . "_arr";
    global ${$test};
    echo ${$test}[0];
}

Upvotes: 4

Related Questions