tags:

views:

748

answers:

5

Hi my question is about PHP variable variables.

Basically I want to store courseworks marks of n courseworks into n variables, such as cw1 and cw2 etc. Using variable variables how can I come with cw1, cw2 etc.

+11  A: 

Use an array instead.

Gumbo
Yep, you should be using an array here.
Rich Bradshaw
A: 

Variable variables work in this way

$var = "foo";
$$var = "bar";

echo $foo; // bar

But i do not recommend doing this, since what if the value of $var changes, then you can no longer print out the 3rd line in this code.

If you could elaborate more on what you want to do i think we could help you more.

Ólafur Waage
+1  A: 

Not entirely sure I understand the question, but you can do something like this:

$VarName = 'cw1';

$$Varname = 'Mark Value';

If you have a large number of these, you may be better off using an array for them, with indexes based on the coursework.

ie:

$a = array();
$a['cw2'] = cw2value;
// etc.
Eli
+2  A: 
php > for ($i=0; $i<5; $i++)
         { ${"thing{$i}"} = $i; }
php > echo $thing1;
1
php > echo $thing2;
2
php > echo $thing3;
3

Note that we're using the dollar sign around curly braces around a string.

Robert Elwell
Aweful confusing-looking.
strager
Quite. Not recommended.
staticsan
+3  A: 

You should really use an array, as Gumbo wrote:

$cw = array();

for($i = 0; $i < $n; ++$i) {
    $cw[] = $something;
}

However, a solution to your problem:

for($i = 0; $i < $n; ++$i) {
    $tmp = 'cw' . $i;
    $$tmp = $something;
}
strager