Seife Ergebnis in variable, PHP
Ich bin unwissend, wenn es um SEIFE. Ich bin der Durchführung einer web-service-Aufruf:
<?php
//define the SOAP client using the url for the service
$client = new soapclient('http://www.xignite.com/xMetals.asmx?WSDL', array('trace' => 1));
//create an array of parameters
$param = array(
'Type' => "XAU",
'Currency' => "USD");
//call the service, passing the parameters and the name of the operation
$result = $client->GetLastRealTimeMetalQuote($param);
//assess the results
if (is_soap_fault($result)) {
echo '<h2>Fault</h2><pre>';
print_r($result);
echo '</pre>';
} else {
echo '<h2>Result</h2><pre>';
print_r($result);
echo '</pre>';
}
?>
und wenn ich das Skript ausführen, erhalte ich:
Result
stdClass Object
(
[GetLastRealTimeMetalQuoteResult] => stdClass Object
(
[Outcome] => Success
[Identity] => IP
[Delay] => 0.006
[Symbol] => XAUUSDO
[Type] => XAU
[Currency] => USD
[Date] => 8/1/2011
[Time] => 11:18:48 PM
[Rate] => 1618.88500977
[Bid] => 1618.55004883
[BidTime] => 11:18:48 PM
[Ask] => 1619.2199707
[AskTime] => 11:18:48 PM
)
)
Wie kann ich trennen Sie die [Bid] sich aus dem rest das Ergebnis und speichern es in eine variable.
Oder noch besser: wie kann ich ziehen aus dem array?
- Beachten Sie, dass es wieder ein OBJEKT, kein ARRAY. Ich habe bemerkt, mit SEIFE, diese bekommen alle Durcheinander. Es ist schlimmer, wenn ein einzelnes Objekt zurückgegeben wird, im ersten Fall aber mehrere Objekte zurückgegeben werden, in den zweiten. Sie benötigen separate Routinen für jede situation.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lassen Sie sich nicht die stdClass object mischen Sie up - dies ist einfach ein array, dass mit vertreten object notation. Also
$result['GetLastRealTimeMetalQuoteResult']['Bid']
(ein normales assoziatives array) wird$result->GetLastRealTimeMetalQuoteResult->Bid
- gleiche Werte, nur eine andere Schreibweise.Erhalten Sie stdClass-Objekten, wenn ein Wert typecast in ein Objekt, das die SOAP-Bibliothek tut. Siehe: http://php.net/manual/en/reserved.classes.php Für einige weitere Details über stdClass Sie in diesem Artikel: http://krisjordan.com/dynamic-properties-in-php-with-stdclass
Wenn Sie möchten, konvertieren Sie die stdClass zu einem array, leider haben Sie eine kleine Funktion: