Hi,
um eine Funktion möglichst generisch zu bauen wollte ich den Namen eines Property dynamisch an diese Funktion übergeben um diese zu verarbeiten. Bei einfachen strings als Property funktioniert das auch wie gewünscht. Bei arrays allerdings nicht :-(. Hier mal etwas testcode um mein Problem verständlich zu machen.
Relevant ist die Zeile bei TEST1 und TEST2 - ich würde ungerne eval einsetzen um mein Ziel zu erreichen. Hat jemand noch einen anderen Vorschlag bzw. eine Idee was ich falsch mache?
um eine Funktion möglichst generisch zu bauen wollte ich den Namen eines Property dynamisch an diese Funktion übergeben um diese zu verarbeiten. Bei einfachen strings als Property funktioniert das auch wie gewünscht. Bei arrays allerdings nicht :-(. Hier mal etwas testcode um mein Problem verständlich zu machen.
PHP:
class testobj01 {
public $ID;
public $Liste = array();
}
class testobj02 {
public $ID;
}
$List = array();
$obj = NEW testobj01();
$obj->ID = 1;
$List[$obj->ID] = $obj;
$obj = NEW testobj01();
$obj->ID = 2;
$List[$obj->ID] = $obj;
$ParamName = "Liste";
foreach($List as $key => $rootobj) {
$child = NEW testobj02();
$child->ID = 1;
// TEST1
$List[$key]->$ParamName[$child->ID] = $child;
// TEST2
$newName = $ParamName."[".$child->ID."]";
$List[$key]->$newName = $child;
}
print_r($List);
Relevant ist die Zeile bei TEST1 und TEST2 - ich würde ungerne eval einsetzen um mein Ziel zu erreichen. Hat jemand noch einen anderen Vorschlag bzw. eine Idee was ich falsch mache?