Construct a variable name in PHP from a string and another variable
February 24, 2008
Most Popular | PHP | Web Building
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>';

?>

Ads by Google

Posted by ellen at February 24, 2008 10:19 PM 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: Comment from Carel Solomon on php.net Variables page

Ads by Google

13 Comments

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}"}


Ads by Google

 RSS   |   Contact Me


Ads by Google