2013-04-08 99 views
0

我正在通过肥皂请求结果工作,但由于它返回的结果超过1,所以我卡在这一个上。对于每个SOAP请求StdClass

该请求基本上返回了我的邮编半径20米的车库列表。

任何人都可以帮我吗?

这是我回来的结果:

stdClass Object 
(
[SupplierDirectorySearchResult] => stdClass Object 
    (
     [Status] => stdClass Object 
      (
       [Code] => 0 
       [Desc] => 
      ) 

     [SupplierCount] => 5 
     [PageInfo] => stdClass Object 
      (
       [PageNo] => 1 
       [RowsPerPage] => 5 
       [MaxPages] => 1 
       [MaxRows] => 0 
       [TotalRows] => 5 
      ) 

     [Supplier] => Array 
      (
       [0] => stdClass Object 
        (
         [SiteRef] => AAAAA 
         [AccountRef] => 
         [Name] => AAAAA AAAAA 
         [Address] => AAAAA AAAAA AAAAA 
            AAAAA AAAAA 
            AAAAA AAAAA AAAAA 
            AAAAA 
            AAAAA 
            AAAAA 
            AAAAA AAAAA 
         [Postcode] => AAAAA AAAAA 
         [Telephone] => AAAAA 
         [Fax] => AAAAA 
         [Email] => 
         [InclusiveServices] => 
         [ApprovedServices] => stdClass Object 
          (
           [ServiceRepair] => Y 
           [MOT] => Y 
           [Tyres] => Y 
           [CollectionDelivery] => Y 
           [CourtesyCar] => Y 
           [WhileUWait] => 
           [Callout24Hour] => Y 
           [BreakdownCover] => Y 
           [CollectionDeliveryNotes] => 
           [CourtesyCarNotes] => 
           [Inspections] => Y 
          ) 

         [NextAvailableDate] => 2013-04-15T00:00:00 
         [AutomaticAcceptDate] => 2013-04-15T10:02:25.9664528+01:00 
         [NextAvailableDateStd] => 2013-04-15T00:00:00 
         [NextAvailableDateCandD] => 2013-04-15T00:00:00 
         [NextAvailableDateCCar] => 2013-04-15T00:00:00 
         [DistanceFromPostcode] => 3 
         [GridN] => 43327 
         [GridE] => 37842 
         [OpeningTime] => Array 
          (
           [0] => stdClass Object 
            (
             [Day] => 1 
             [TimeFrom] => 10:00 
             [TimeTo] => 16:00 
            ) 

           [1] => stdClass Object 
            (
             [Day] => 2 
             [TimeFrom] => 08:00 
             [TimeTo] => 18:00 
            ) 

           [2] => stdClass Object 
            (
             [Day] => 3 
             [TimeFrom] => 08:00 
             [TimeTo] => 18:00 
            ) 

           [3] => stdClass Object 
            (
             [Day] => 4 
             [TimeFrom] => 08:00 
             [TimeTo] => 18:00 
            ) 

           [4] => stdClass Object 
            (
             [Day] => 5 
             [TimeFrom] => 08:00 
             [TimeTo] => 18:00 
            ) 

           [5] => stdClass Object 
            (
             [Day] => 6 
             [TimeFrom] => 08:00 
             [TimeTo] => 18:00 
            ) 

           [6] => stdClass Object 
            (
             [Day] => 7 
             [TimeFrom] => 10:00 
             [TimeTo] => 16:00 
            ) 

          ) 

         [FranchiseHeld] => stdClass Object 
          (
           [Name] => Non-Franchised 
           [LabourRate] => 0 
           [PartsDiscount] => 0 
           [Preference] => P 
          ) 

         [CSIPercentageRating] => 0 
         [Longitude] => -AAAAA9 
         [Latitude] => AAAAA 
         [StreetName] => AAAAA AAAAA 
         [LocalityName] => AAAAA 
         [TownName] => AAAAA 
         [CountyName] => AAAAA 
         [edeWebLinkURL] => 
         [edeStrapLine] => 
         [DropOffNotes] => 
        ) 

        ) 

      ) 

     [ClassVersion] => 1.0 
    ) 

这是我使用的尝试访问每个SiteRef脚本:

foreach ($res->SupplierDirectorySearchResult->Supplier[0]->SiteRef as $SiteRef) { 
    echo $SiteRef; 
} 

但这是我得到的错误消息:

对象的分类s stdClass无法转换为字符串

任何人都可以帮我解决这个问题吗?

回答

0

通过尝试遍历Supplier[0]->SiteRef,你实际上试图对一个字符串做一个foreach。您需要循环Supplier并访问在每次迭代的SiteRef,因为Supplier是可以循环数组:

foreach ($res->SupplierDirectorySearchResult->Supplier as $supplier) { 
    echo $supplier->SiteRef; 
} 
+0

完美的感谢MrCode! – 2013-04-08 09:51:22