2016-10-30 38 views
0

我正在使用PHP SOAP腳本從Web服務檢索數據。下面顯示的我的PHP代碼產生一個stdclass obect,其中包含一個名爲Staff的數組。PHP SOAP stdclass obect數組

$values = $client->GetAllStaff($search_query); 

    $xml = $values->SasReqRespGetAllStaff; 

    print "<pre>\n"; 
    print_r($xml); 
    print "</pre>"; 
?> 

這會在我的Web瀏覽器中產生以下結果。

"stdClass Object 
    (
    [Source] => R5 Sim 
    [RespMsgTag] => 5 
    [RespAck] => OK 
    [RespNote] => 
    [TotalItems] => 13 
    [Staff] => Array 
     (
     [0] => stdClass Object 
      (
       [StaffID] => 15 
       [Last] => LastName1 
       [First] => TESTstaffOut1 
       [Middle] => MName1 
       [Role] => Level 1 
     ) 
     [1] => stdClass Object 
      (
       [StaffID] => 16 
       [Last] => LastName2 
       [First] => TESTstaffOut2 
       [Middle] => MName2 
       [Role] => Level 2 
     )" 

我怎樣才能寫入來自[職員]值=>數組PHP變量稍後可以或者用於其它PHP使用?我怎樣才能循環員工[0],[1]?

回答

0

它們已經在PHP變量中(包含在stdClass對象中)。但是,如果你想通過他們循環,你可以這樣做是這樣的:

foreach($xml->Staff as $staff) 
{ 
    // Eg: To get the staff id: 
    $staffId = $staff->StaffID; 
    var_dump($staffId); 
} 
+0

謝謝,這就是我一直在尋找的!這是我如何將Staff stdclass obect放入MySql數據庫嗎? – britchey

+0

基本上,是的。這將允許您查詢數據。另一種方法是,你可以序列化並將其存儲在數據庫中(不可查詢) –

0

我使用上述信息,並與下面上來,測試和工作。

echo " <br> Available Groups <table> <tr><th>Group ID</th><th>First Name</th><th>Middle Name</th><th>Last Name</th><th>Role</th></tr>"; 
    foreach($xml->Staff as $staff) 
    { 
     $staffId = $staff->StaffID; 
     $lastName = $staff->Last; 
     $firstName = $staff->First; 
     $middleName = $staff->Middle; 
     $role = $staff->Role; 

     $html = "<tr>"; 
     $html .= "<td>".$staffId."</td>"; 
     $html .= "<td>".$firstName."</td>"; 
     $html .= "<td>".$middleName."</td>"; 
     $html .= "<td>".$lastName."</td>"; 
     $html .= "<td>".$role."</td>"; 
     $html .= "</tr>"; 
     echo $html; 
    } 
    echo "</table>"; 

我還使用了以下信息。 iterating through a stdClass object in PHP