Solved

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

Posted on 2012-03-29
4
431 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

Master Your Team's Linux and Cloud Stack

Come see why top tech companies like Mailchimp and Media Temple use Linux Academy to build their employee training programs.

Question has a verified solution.

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

Learn by example how to specify CSS selectors for Selenium WebDriver test automation software.
Get to know the ins and outs of building a web-based ERP system for your enterprise. Development timeline, technology, and costs outlined.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
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)

856 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