![]() |
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:) |
You're not concatenating the variables. Try this:
:
$ga . $i |
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 |
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] |
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.
|
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);- Sean |
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[]">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