The Humble Rat
The Humble Rat

Reputation: 4696

Array Value as Variable Name

I recently found another stackoverflow question with the following:

$segments = array(
"key1"    =>"111",
"key2"    =>"222",
"key3"    =>"333",
"key4"    =>"444"
);

I want to have these:

$key1 has the value of  "111";

$key2 has the value of  "222";

$key3 has the value of  "333";

$key4 has the value of  "444";

The answer was to use extract($segments).

I would like to achieve something not to dissimilar, I have the following array

 $test = array('hello','world');

I ideally want to loop through them and use the array value as the variable name, for example:

$test2 = array('hello','world');
foreach($test as $v)
{
   $$v = $v;
}

Therefore after the loop I could echo say $hello and this would result in the output hello.

Can anyone tell me how I could achieve this. If there is a method without a loop etc then great. I realise my example can be done differently so that this question is redundant, but I ask out of curiosity and for my knowledge.

Upvotes: 0

Views: 46

Answers (1)

AbraCadaver
AbraCadaver

Reputation: 79024

Arrays are better and you rarely if ever need extract or variable variables, but this is a way (just for knowledge sake):

$test2 = array('hello','world');
extract(array_combine($test2, $test2));

Upvotes: 2

Related Questions