我正在使用PHP SOAP脚本从Web服务中检索数据。我在下面显示的PHP代码会生成一个stdclass对象,其中包含一个名为Staff的数组。
$values = $client->GetAllStaff($search_query);
$xml = $values->SasReqRespGetAllStaff;
print "<pre>\n";
print_r($xml);
print "</pre>";
?>
这会在我的网络浏览器中产生以下结果。
"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 )"
如何从[Staff] =&gt;中写出值?数组到PHP变量,可以在以后使用或用于其他PHP?我如何循环通过Staff [0],[1]?
答案 0 :(得分:0)
它们已经存在于PHP变量中(包含在stdClass对象中)。但是,如果你想循环遍历它们,你可以这样做:
foreach($xml->Staff as $staff)
{
// Eg: To get the staff id:
$staffId = $staff->StaffID;
var_dump($staffId);
}
答案 1 :(得分: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