为了账号安全,请及时绑定邮箱和手机立即绑定

请问这种情况下,是不是必须用 eval ??

请问这种情况下,是不是必须用 eval ??

PHP
RISEBY 2018-10-24 21:01:18
class C{public static $s = 123;}// 假定现在必须通过类名字符串来访问 C::$s,那么除了这么写,还有没有其他办法?c=′C′;echoeval(′return′.c . '::$s;'); // 123我再补充一下,真实情况是这样的,有一个函数function f(Extra open brace or missing close bracec 是一个完全限定类名,例如“abcdefC”// 并且 c表示的类,一定有静态变量s (可能来自继承的父类,这个无所谓)// 问题是,如何取得 $s 的值?// 使用 eval 是可行的,我想知道有没有更好的办法?}谢谢!
查看完整描述

1 回答

?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

<?phpclass C{public static $s = 123;
}
$x = "s";
$c = new C();echo $c::$$x;//输出123echo C::$$x;//输出123

懂了,
你用这个

echo get_class_vars("C")["s"];


查看完整回答
反对 回复 2018-10-24
  • 1 回答
  • 0 关注
  • 724 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信