2012-07-24 86 views
0

我想使用SOAP获取外部服务的信息。当我这样做SOAP调用的print_r的我得到:PHP SOAP stdClass

stdClass Object (
    [Ticket] => stdClass Object 
     (
      [Timestamp] => 2012-07-24T17:46:01.306+02:00 
      [ExpiryTimestamp] => 2012-07-24T18:47:46.626+02:00 
     ) 

    [FUP] => stdClass Object 
     (
      [Period] => stdClass Object 
       (
        [From] => 2012-06-25+02:00 
        [Till] => 2012-07-24+02:00 
        [CurrentDay] => 30 
       ) 

      [Usage] => stdClass Object 
       (
        [TotalUsage] => 75.1 
        [MinUsageRemaining] => 182.59 
        [MaxUsageRemaining] => 612.54 
        [Unit] => GB 
        [LastUpdate] => 2012-07-24T17:40:44.000+02:00 
       ) 

      [Status] => Vrij verbruik 
      [StatusDescription] => stdClass Object 
       (
        [NL] => Je surft met volledige surfsnelheid. 
        [FR] => Vous surfez à vitesse normale. 
       ) 

     ) 

) 

这是PHP代码来获取数据:

$wsdl_url = "https://t4t.services.telenet.be/TelemeterService.wsdl"; 
$client = new SoapClient($wsdl_url); 


try 
     { 
     $result = $client->retrieveUsage(new SoapParam(array("UserId" => $userName, "Password" => $password), "RetrieveUsageRequestType")); 
     } 

如何显示TotalUsage的数据?

+0

你能做到'$ result'的'print_r'并用正确的格式输出,而不是在一行上编辑文章。很难说在一条线上哪些属性属于哪些属性。 – drew010 2012-07-24 18:23:11

+0

改变了这一点。这是print_r如何返回它。 – user1079160 2012-07-24 18:25:57

+1

如果您查看页面源代码,它应该被正确隔开并包含换行符。然后将每行缩进4个空格,或单击SO上的代码按钮以正确格式化。这仍然很难阅读。谢谢 – drew010 2012-07-24 18:26:41

回答

2

它只是一个具有多个属性的PHP对象。

您可以访问TotalUsage这样的:

$result->FUP->Usage->TotalUsage; 
+0

当使用echo $ result-> Usage-> TotalUsage时,这给了我一个空白页面; – user1079160 2012-07-24 18:11:35

+0

您可以更好地格式化来自'print_r'的输出吗?它必须以不同的方式嵌套。 – drew010 2012-07-24 18:15:29

+0

@ user1079160没关系,现在尝试,它看起来像Usage属于FUP。 – drew010 2012-07-24 18:17:12

3
<?php 

$usage = $result->FUP->Usage->TotalUsage;