vote up 1 vote down
star

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.

flag
add comment

5 Answers:

vote up 7 vote down

Use an array instead.

link|flag
add comment
vote up 3 vote down

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;
}
link|flag
add comment
vote up 1 vote down
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.

link|flag
comments (2)
vote up 1 vote down

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.
link|flag
add comment
vote up 0 vote down

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.

link|flag
add comment

Your Answer:

Get an OpenID
or

Not the answer you're looking for? Browse other questions tagged or ask your own question.