屬性名稱我希望能夠設置一個對象的屬性,但會生成屬性名。我如何才能做到這一點在PHP中,不使用eval()
設置一個對象的一個字符串的屬性在PHP
例如爲:
$obj->name = "Prakash Raman"; // Works
$obj->$attr_name = <some value>; // Would want something like this to work
我希望能夠改變$attr_name
。
謝謝。
屬性名稱我希望能夠設置一個對象的屬性,但會生成屬性名。我如何才能做到這一點在PHP中,不使用eval()
設置一個對象的一個字符串的屬性在PHP
例如爲:
$obj->name = "Prakash Raman"; // Works
$obj->$attr_name = <some value>; // Would want something like this to work
我希望能夠改變$attr_name
。
謝謝。
有趣的是,你的代碼將發佈工作。 (++爲property_exists,雖然)
哇! :) 一點也不差 !謝謝。 – 2012-01-10 20:41:20
我理解這個問題有一個有效的答案,而只是添加到許多方面,你可以這樣做:
<?php
$myClass = new ReflectionClass($someClass);
if($myClass->hasProperty($someProperty)){
$myClass->getProperty($someProperty)->setValue($someClass,__NEW__VALUE__);
}
?>
哇。謝謝。 – 2012-01-11 12:30:18
快速和簡單。容易+1。 – 2012-01-10 20:29:35