Sta*_*bie 2 php eval properties
看到:
$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;';
}
}
Run Code Online (Sandbox Code Playgroud)
假设我想将值分配0给所有以类开头的类成员_output.我打算用eval.好主意还是坏主意?
Mic*_*ski 13
你不需要eval()这个.您可以使用变量,如$this->{$key}:
foreach($class_members as $key => $value)
{
if (strpos($key, '_output') === 0)
{
// Look mom, no eval()!
$this->{$key} = 0;
}
}
Run Code Online (Sandbox Code Playgroud)
Pee*_*Haa 13
你可以这样做:
$this->{$key} = 0;
Run Code Online (Sandbox Code Playgroud)
只有少数情况eval不予考虑evil.
这不是其中之一:)