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"];
- 1 回答
- 0 关注
- 724 浏览
添加回答
举报
0/150
提交
取消