设置一个对象的一个字符串的属性在PHP
问题描述:
属性名称我希望能够设置一个对象的属性,但会生成属性名。我如何才能做到这一点在PHP中,不使用eval()
设置一个对象的一个字符串的属性在PHP
例如为:
$obj->name = "Prakash Raman"; // Works
$obj->$attr_name = <some value>; // Would want something like this to work
我希望能够改变$attr_name
。
谢谢。
答
有趣的是,你的代码将发布工作。 (++为property_exists,虽然)
+0
哇! :) 一点也不差 !谢谢。 – 2012-01-10 20:41:20
答
我理解这个问题有一个有效的答案,而只是添加到许多方面,你可以这样做:
<?php
$myClass = new ReflectionClass($someClass);
if($myClass->hasProperty($someProperty)){
$myClass->getProperty($someProperty)->setValue($someClass,__NEW__VALUE__);
}
?>
+0
哇。谢谢。 – 2012-01-11 12:30:18
快速和简单。容易+1。 – 2012-01-10 20:29:35