如何使用变量访问动态属性?
请参阅:
$class_members = get_class_vars(__CLASS__);
foreach($class_members as $key => $value)
{
if (strpos($key, '_output') === 0)
{
// I want to eval() this
$code = '$this->' . $key . ' = 0;';
}
}
假设我要将值 0
分配给以 _output
开头的所有类成员。我计划使用eval
。 好主意还是坏主意?
See:
$class_members = get_class_vars(__CLASS__);
foreach($class_members as $key => $value)
{
if (strpos($key, '_output') === 0)
{
// I want to eval() this
$code = '$this->' . $key . ' = 0;';
}
}
Assume I want to assign the value 0
to all class members that begin with _output
. I plan to use eval
. Good or bad idea?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为此,您不需要
eval()
。您可以使用变量,如$this->{$key}
所示:You don't need
eval()
for this. You can use a variable as in$this->{$key}
:您可以这样做:
只有少数情况下,
eval
不被视为邪恶
。这不是其中之一:)
You can just do:
There are only a few situations where
eval
isn't consideredevil
.And this isn't one of them :)