PHP对象索引作为字符串?

Is there a way to access a member of an object, by using its name as a string?

When I declare an array...

$array = array();
$array['description_en']="hello";
$array['description_fr']="bonjour";

then I access a member like this:

$lang="en"; //just to show my purpose. it will be dynamic
$description = $array['description_'.$lang];

Can I do the same thing for objects?

For example:

$obj->description_en="hello";
$obj->description_fr="bonjour";

How can I access $obj->description_.$lang ?

class test
{
    public $description_en = 'english';
}

$obj = new test();
$lang = 'en';
echo $obj->{"description_".$lang}; // echo's "english"

You can see more examples of variable variables here.

You can use this syntax:

<?php

class MyClass {
    public $varA = 11;
    public $varB = 22;
    public $varC = 33;
}

$myObj = new MyClass();

echo $myObj->{"varA"} . "<br>";
echo $myObj->{"varB"} . "<br>";
echo $myObj->{"varC"} . "<br>";

This way, you can access object variables as if they were entries in an associative array.