Solved

php: Select object property with a dynamic name ($obj->dynamicNameHere)?

Posted on 2012-03-29
4
430 Views
Last Modified: 2012-03-31
I should know this, but here I am. I'm trying to select an object property with a non-static name like this:

<?php
$properties = array('property1','property2','property3');
foreach($properties as $property) {
  print $theObject->[[[$property]]]
}
?>

Open in new window


Any thoughts on how to do that? I know it's probably super simple.

Thanks!!!

Chris
0
Comment
Question by:Ultrus
  • 2
  • 2
4 Comments
 
LVL 10

Expert Comment

by:acbxyz
ID: 37784633
Hello Chris,

since properties are called without a dollar sign behind the arrow, you can simply use a dollar for a dynamic name. Here an example working for me:
// Defining test class
class test{
    public $variable;
}   
// Creating an instance of it
$testobj = new test();
// preset a value
$testobj->variable = 'Wert 1';
// name the variable, can be a loop or something
$varname = 'variable';
// assigning a new value to the named variable above
$testobj->$varname = 'Wert 2';
// let's see if it works
echo $testobj->variable;

Open in new window

0
 
LVL 10

Author Comment

by:Ultrus
ID: 37785033
acbxyz,
I figured it out. If you respond with "Yes, that looks great!", I'll give your response all the points. ;)

<?php
$properties = array('property1','property2','property3');
foreach($properties as $property) {
  print $theObject->{$property}
}
?>

Open in new window

0
 
LVL 10

Accepted Solution

by:
acbxyz earned 500 total points
ID: 37789279
Yes, that looks great! ;-)

If $property is a simple string variable as in this example, you even don't need the curly braces, but you can.
0
 
LVL 10

Author Closing Comment

by:Ultrus
ID: 37792189
Thanks! :D
0

Featured Post

Gigs: Get Your Project Delivered by an Expert

Select from freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely and get projects done right.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Since pre-biblical times, humans have sought ways to keep secrets, and share the secrets selectively.  This article explores the ways PHP can be used to hide and encrypt information.
Get to know the ins and outs of building a web-based ERP system for your enterprise. Development timeline, technology, and costs outlined.
This tutorial demonstrates how to identify and create boundary or building outlines in Google Maps. In this example, I outline the boundaries of an enclosed skatepark within a community park.  Login to your Google Account, then  Google for "Google M…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

815 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now