在PHP中使用字符串属性名称设置对象的属性

Pra*_*man 2 php oop reflection

我希望能够设置对象的属性,但会生成属性名称.如何在PHP中完成此操作,而不使用eval()

例如:

$obj->name = "Prakash Raman"; // Works
$obj->$attr_name = <some value>; // Would want something like this to work
Run Code Online (Sandbox Code Playgroud)

我希望能够改变$attr_name.

谢谢.

jon*_*ohn 8

$obj->{$attr_name} = "New value";
Run Code Online (Sandbox Code Playgroud)

这将完全实现.

但需要注意的是,我建议结合使用它property_exists()来验证财产的存在.

  • 快速简单.轻松+1. (2认同)