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

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 是可行的,我想知道有没有更好的办法?
}

谢谢!


RISEBY
浏览 725回答 1
1回答

慕无忌1623718

<?phpclass&nbsp;C{public&nbsp;static&nbsp;$s&nbsp;=&nbsp;123; } $x&nbsp;=&nbsp;"s"; $c&nbsp;=&nbsp;new&nbsp;C();echo&nbsp;$c::$$x;//输出123echo&nbsp;C::$$x;//输出123懂了,你用这个echo&nbsp;get_class_vars("C")["s"];
打开App,查看更多内容
随时随地看视频慕课网APP