Programming Forums

Programming Forums (http://www.programmingforums.org/forumindex.php)
-   PHP (http://www.programmingforums.org/forum29.html)
-   -   Adding a # value to the end of another variable (http://www.programmingforums.org/showthread.php?t=12108)

kworden Dec 4th, 2006 8:21 PM

Adding a # value to the end of another variable
 
What I'm trying to do is display a list of Values with A # value added to after the original value it represents...

See an example below:
[PHP]
$ga1 = 4;
$ga2 = 3;
$ga3 = 1;
$ga4 = 2;
$ga5 = 4;
$ga6 = 2;

$numberofgaquestions = 34;

for($i=1; $i<= $numberofgaquestions; $i++ ){
echo "The # $i: ". $ga$i ."<br>";
}
[/PHP]

The result I'm looking for is:
The # 1: 4
The # 2: 3
The # 3: 1
The # 4: 2
The # 5: 4
The # 6: 2

I get an error saying "Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' " So how can i add the # value to another variable?

Thanks for your help in advance....

K:)

Jimbo Dec 4th, 2006 8:36 PM

You're not concatenating the variables. Try this:
:

$ga . $i
Although you could probably get by with leaving them inside the quotes anyways

kworden Dec 4th, 2006 8:45 PM

If i do that i get an error saying $ga can't be found and then the #

[PHP]
for($i=1; $i<= $numberofgaquestions; $i++ ){
echo "Ga # $i:". $ga.$i ."<br>";
}
[/PHP]

Here is what i get:
Notice: Undefined variable: ga in /final_hr_attributes_7.php on line 329
Ga # 1:1
Notice: Undefined variable: ga in /final_hr_attributes_7.php on line 329
Ga # 2:2
Notice: Undefined variable: ga in /final_hr_attributes_7.php on line 329
Ga # 3:3

What i need is to form the variable $ga1 with this [php]echo "Ga # $i:". $ga.$i ."<br>";[/php]

But thanks for your help

kworden Dec 4th, 2006 8:56 PM

I was able to solve the problem with:

[PHP]
for($i=1; $i<= $numberofgaquestions; $i++ ){
$varname = 'ga' . $i; //create name of variable as a string
echo "The # $i: ". $$varname ."<br>"; // notice $$
}
[/PHP]

PhilBon Dec 4th, 2006 10:18 PM

I would suggest looking into Arrays, because that is excatly what $ga1, $ga2 look like. Instead they'd be $ga[1], ga[2].ga[3].ga[4], etc. One reason we have arrays is to use them in loops like this.

headzoo Dec 13th, 2006 2:05 AM

PhilBon is correct. Arrays are meant to deal with these kinds of situations. Your code should have looked more like this:

:

$ga = array(4, 3, 1, 2, 4, 2);
for ($i = 0; $i < count($ga); $i++) {
        echo "The # $i: " . $ga[$i] . "<br />";
}


- Sean

Pizentios Dec 13th, 2006 12:26 PM

dynamic varible names are useful in many situations (like dynamicly generate html forms where you don't know how many fields there are and the field names come from a database or something like that), but most of the time, you can be making use of arrays, which require a bit less code. I have used dynamic varibles when working with excel sheets from php, makes life much easier (for sheet names etc, so you don't have to hard code them).

to use an array with an html form, simply name the field (lets say in this case a bunch of text fields) with a name like:

:

<input type=text name="text[]">
<input type=text name="text[]">
<input type=text name="text[]">



then, when your php script gets called, you can access the array like:


[PHP]<?PHP
for ($x=0; $x<3; $x++)
{
echo $_POST["text"][$x];
}
?>
[/PHP]

i know it's probably not what you are doing, but i thought you might like to know a little more information on how you can make use of arrays in php/html.


All times are GMT -5. The time now is 5:12 AM.

Powered by vBulletin® Version 3.7.0, Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Copyright ©2007 DaniWeb® LLC