php中如何获取我一个字符串执行的结果啊

来源:百度知道 编辑:UC知道 时间:2024/06/04 17:39:11
php中如何获取我一个字符串执行的结果啊,比如说我定义了一个哈希,key是SR(service request)的id,value是对应该SR函数名字,我每次从web上post过来一个SR,根据这个SR的id我找到对应的处理函数,此时这个函数的名字是一个字符串,我将这个字符串跟SR中的参数连接成一个可执行的函数。这时候我要执行这个连接好的函数,我应该怎么操作呢,比如说3=>“fucnA”,我传过来的参数是sr->sr_para。此时拼接成如下一个函数:funcA(sr->sr_para);(注意:此时这个函数是一个字符串,不妨认为
$funcStr = "funcA(sr->sr_para);"),我如何才能执行这个字符串呢,不能用eval函数,我想要获取这个函数的执行结果,因为funcA的返回结果是不一样的,有时候是bool,有时候是array,用eval函数必须在funcA中把我要返回的东西都print一遍。有没有什么方法吗?这个问题困扰我一周了。谢谢各位大侠帮忙啊!!

<?
function funcA($i){
$j=rand(1,10);
if($j>5){
$k=1;
}else{
$k=array("a","b","c","d");
}
return $k;
}
$a="funcA";
$b="12";
eval("\$result=".$a."(".$b.");");
print_r($result);
?>
-----------------------
看来只能用eval了 ~

<?
$a=funcA(sr->sr_para);
echo $a;
?>
像这样直接用不就行了。
(以下代码仅供参考)
<?
function aa()
{
$a=100;
return $a;
}
$b=aa();
echo $b;//print 100;
?>

最好把代码拿出来看下。