PHP从返回stdClass对象的web服务获取数据
我正在尝试使用以下代码从web服务获取值:PHP从返回stdClass对象的web服务获取数据,php,arrays,web-services,object,stdclass,Php,Arrays,Web Services,Object,Stdclass,我正在尝试使用以下代码从web服务获取值: $client = new SoapClient($url); $response = $client->GetInfoByNumeroContrato(array( 'schema' => $schema, 'numContrato' => $numContract )); 我有一个名为GetInfoByNumeroContrato的方法,它接收两个参数。 当我调用web服务时,$response会给我一个
$client = new SoapClient($url);
$response = $client->GetInfoByNumeroContrato(array(
'schema' => $schema,
'numContrato' => $numContract
));
我有一个名为GetInfoByNumeroContrato
的方法,它接收两个参数。
当我调用web服务时,$response
会给我一个stdClass
对象,如下所示:
stdClass Object
(
[GetInfoByNumeroContratoResult] => stdClass Object
(
[schema] =>
[any] => 000559500trueTITULAR BNMARIA DORES PEIXOTO220125424DORESRIBEIRO50@GMAIL.COMR DAMIAO DE GOIS ENTRADA 71 BL 1 1 ANDAR N 90000003194460-2921646013411950-10-07T00:00:00+01:00Divorciado003501600006968540097PT50003501600006968540097CGDIPTPLBilhete de IdentidadeSENHORA DA HORAFeminino4010003002015-09-16T00:00:00+01:0024.90falseSENIORtrue2015-10-05T00:00:00+01:00true2016-09-05T00:00:00+01:002015-11-05T00:00:00+00:00M0PT47111799DÉBITO DIRETOCONNECTA000559500falseAGREGADOJOSE LUIS RIBEIRO FAIEL220125424R DAMIAO DE GOIS ENTRADA 71 BL 1 1 ANDAR N 90000003204460-2921646013411983-08-23T00:00:00+01:00Outro003501600006968540097Bilhete de IdentidadeSENHORA DA HORAMasculino4010003012015-09-16T00:00:00+01:0024.90falseSENIORtrue2015-10-05T00:00:00+01:00true2016-09-05T00:00:00+01:002015-11-05T00:00:00+00:00M0PT47111799DÉBITO DIRETOCONNECTA
)
[_exception] =>
)
我们的想法是从[任何]中分别获取每个值,并发布每个值。例如,获取“000559500”,然后获取“true”,依此类推
我已尝试分析此内容,但没有成功。有没有更好的办法 当我执行以下操作时:
print $response->GetInfoByNumeroContratoResult->any;
我得到以下答案:
000559500trueTITULAR BNMARIA DORES PEIXOTO220125424DORESRIBEIRO50@GMAIL.COMR DAMIAO DE GOIS ENTRADA 71 BL 1 1 ANDAR N 90000003194460-2921646013411950-10-07T00:00:00+01:00Divorciado003501600006968540097PT50003501600006968540097CGDIPTPLBilhete de IdentidadeSENHORA DA HORAFeminino4010003002015-09-16T00:00:00+01:0024.90falseSENIORtrue2015-10-05T00:00:00+01:00true2016-09-05T00:00:00+01:002015-11-05T00:00:00+00:00M0PT47111799DÉBITO DIRETOCONNECTA000559500falseAGREGADOJOSE LUIS RIBEIRO FAIEL220125424R DAMIAO DE GOIS ENTRADA 71 BL 1 1 ANDAR N 90000003204460-2921646013411983-08-23T00:00:00+01:00Outro003501600006968540097Bilhete de IdentidadeSENHORA DA HORAMasculino4010003012015-09-16T00:00:00+01:0024.90falseSENIORtrue2015-10-05T00:00:00+01:00true2016-09-05T00:00:00+01:002015-11-05T00:00:00+00:00M0PT47111799DÉBITO DIRETOCONNECTA
有可能一个接一个地拿到吗
是否可以从web服务接收而不是从[任何]接收中获取所有内容,例如:[contractNumer]=>value然后[Name]=>value等等?就个人而言?我知道这是一个迟到的答案,但可能会为其他人节省时间:
$xml= simplexml_load_string($response->GetInfoByNumeroContratoResult->any);
print_r($xml); //an array containing the whole XML
print $x->contractNumber; //individually
发布您客户的代码,很难从您目前提供的代码中看出哪里出了问题。什么是
print$response->getinfobynumeriocontratorresult->any代码>输出?当我发布print$response->GetInfoByNumeroContratoResult->any时,也用GetInfoByNumeroContrato
方法的代码更新您的问题,我得到以下信息:000559500TrueTional BNMARIA DORESPEIXOTO220125424DORESRIBEIRO50@GMAIL.COMRDAMIAO DE GOIS ENTRADA 71 BL 1 1 and ar N 9000003194460…我在马上。