PHP根据变量名字符串调用变量

今天用PHP调用WebService远程函数a,代码如下

<?php
$wsdl="wsdl地址";//函数参数
$param=array('paramName1'=>$param1,'paramName2'=>$param2,'paramName3'=>$param3,...);//函数参数 $webserv = new SoapClient($wsdl);//实例化连接 ,设置WSDL $obj=$webserv->__soapCall("a",array($param));//调用指定函数,并传递函数参数 结果为对象 echo $obj->$aResult;//输出结果 ?>

打算封装成函数方便以后使用,突然发现,结果对象中的结果变量名是根据函数名有关的

调用远程function函数结果对象中结果变量是$functionResult。

查阅资料发现

<?php
$value=1;
$name='value';
echo $$name; 
?>

结果为1。

遂改代码如下

<?php
    function webServFun($wsdl,$function_name,$param_ary){
       $webserv = new SoapClient($wsdl);//实例化连接 ,设置WSDL          
       $obj=$webserv->__soapCall($function_name,array($param_ary));//调用指定函数,并传递参数,结果为对象
        $resultname=$function_name.'Result';//生成结果的变量名
    return $obj->$resultname;//返回结果
    }
?>    

 

 

 

posted on 2013-11-07 21:17  老湿  阅读(853)  评论(0编辑  收藏  举报

导航