Construct a variable name in PHP from a string and another variable
The “Shop” page of this site is a php page which displays an amazon a-store category and the second level tabs appropriate to that category, using a “node id”.
The html for the tabs is defined in an included page like this:
<?php //-------------// $tabs6= '<ul class="yui-navset bd">'; $tabs6.='<li class="first selected" id="tab6"><a href="shop.php?tab=6" >Web Development</a></li>'; $tabs6.='<li class="" id="tab180"><a href="shop.php?tab=180" >CSS</a></li>'; $tabs6.='<li class=" " id="tab183"><a href="shop.php?tab=183">Javascript</a></li>'; $tabs6.='<li class="last" id="tab181"><a href="shop.php?tab=181">DHTML</a></li>'; $tabs6.='</ul>'; $tabs180= '<ul class="yui-navset bd">'; $tabs180.='<li class="first " id="tab6"><a href="shop.php?tab=6" >Web Development</a></li>'; $tabs180.='<li class="selected" id="tab180"><a href="shop.php?tab=180" >CSS</a></li>'; $tabs180.='<li class=" " id="tab183"><a href="shop.php?tab=183">Javascript</a></li>'; $tabs183.='<li class="last" id="tab181"><a href="shop.php?tab=181">DHTML</a></li>'; $tabs180.='</ul>'; $tabs183= '<ul class="yui-navset bd">'; $tabs183.='<li class="first " id="tab6"><a href="shop.php?tab=6" >Web Development</a></li>'; $tabs183.='<li class="" id="tab180"><a href="shop.php?tab=180" >CSS</a></li>'; $tabs183.='<li class=" selected" id="tab183"><a href="shop.php?tab=183">Javascript</a></li>'; $tabs183.='<li class="last" id="tab181"><a href="shop.php?tab=181">DHTML</a></li>'; $tabs183.='</ul>'; ?>
Each tab link has a parameter containing the node id:
http://thedesignspace.net/shop.php?tab=183
The value of “tab” from the query string is used to populate a variable “$tab” which is used in several places on the page. One of those spots is the line which prints out the correct bank of tabs. In this case, a new variable name is constructed by concatenating “$tab” with a string.
The code that displays the correct bank of tabs is simply:
<?php
print ${'tabs'.$tab};
?>
See this page (and Carel Solomon’s note) for more information on concatenating strings and variables or two variables to construct a variable name dynamically:
That last bit was extremely helpful. Thanks!
This article helped me alot!
I’ve been searching for an hour for how to create variable names on the fly in PHP. Thank you!
That’s GREAT. It also help me. Thanks ellen, You give us a small but precious concept.
Great! It was very helpfull!
Thanks a lot..really helpfull..:)
Thanks alot. Really helpful
Great! It was very helpfull!
but how can pick constant value?
very helpful information. awesome
Construct a variable name in PHP from a string and another variable
Your explanation and sample is very useful for designing dynamic variables.
Thanks
Thanks, this helps a lot. Found it in one quick google search.
thanks, really helpful
Thanks. I’ve been sweating over that for hours. However, I had to tweak it a bit to make it work.
Like this:
${‘tab’ . “{$tab}”}
—–