在 PHP 中,我可能想要评估一个字符串,它可能会调用我的用户定义的方法之一。
我所拥有的是这样的:
function convertToBytes($value)
{
$number=substr($value,0,-1);
switch(strtoupper(substr($value,-1))){
case "K":
return $number*1024;
case "M":
return $number*pow(1024,2);
case "G":
return $number*pow(1024,3);
case "T":
return $number*pow(1024,4);
case "P":
return $number*pow(1024,5);
default:
return $value;
}
}
$expression = 'if (convertToBytes("1024K") >= 102400)
return true;
else
return false;';
$value = eval($expression);
我想知道我是否可以在不使用 eval 的情况下做到这一点。