2016-10-30 5 views
0

Ich benutze PHP SOAP-Skript, um Daten von einem Web-Service zu erhalten. Der unten gezeigte PHP-Code führt zu einem stdclass-Objekt, das ein Array namens Staff enthält.PHP SOAP stdclass objekt array

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

    $xml = $values->SasReqRespGetAllStaff; 

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

Dies führt zu dem folgenden Ergebnis in meinem Webbrowser.

"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 
     )" 

Wie kann ich die Werte von [Mitarbeiter] => Array in PHP-Variablen schreiben, die später oder für andere PHP verwendet werden kann? Wie kann ich Staff [0], [1] durchlaufen?

Antwort

0

Sie befinden sich bereits in PHP-Variablen (im stdClass-Objekt enthalten). Allerdings, wenn Sie durch sie Schleife möchten, können Sie dies tun, wie folgt aus:

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

Danke, das ist, was ich gesucht habe! Würde ich den Staff stdclass obect in eine MySql-Datenbank einfügen? – britchey

+0

Grundsätzlich ja. Dadurch können Sie die Daten abfragen. Die andere Möglichkeit ist, dass Sie es serialisieren und in der Datenbank speichern können (nicht abfragbar). –

0

ich verwendet, um die Informationen über und kam mit der folgenden aufgebaut, getestet und funktioniert.

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>"; 

Ich habe auch Informationen aus dem folgenden Beitrag verwendet. iterating through a stdClass object in PHP

Verwandte Themen