PHP Hata, bu çözülebilir, ya da bir dil bug?

2 Cevap

Aşağıdaki kodu verilir

$c= new SoapClient('http://www.webservicex.net/CurrencyConvertor.asmx?WSDL');

$usa = "USD";
$eng = "GBP";

istemci üzerinde bir __ GetTypes yapıyor bana verir

Array ( [0] => struct ConversionRate { Currency FromCurrency; Currency ToCurrency; } [1] => string Currency [2] => struct ConversionRateResponse { double ConversionRateResult; } )

ben eğer bunu yaparsam

$calculation = $c->ConversionRate($usa, $eng);

ve baskı hesaplama i hakkında bir hata alıyorum

Catchable fatal error: Object of class stdClass could not be converted to string

Ben bir sorun var birçok kişi Googling / görünüyor araştırmaktan, bir hata bu yazdırarak, ya da ben gereken belirli bir yolu var ama ben benim için bir çözüm değildir php, alçaltıyorsunuz başka bir suitbale çözüm bulamıyorum Bir üniversite sunucusu kapalı ödev ve koşma gibi yapıyorum

2 Cevap

Ben bu fonksiyonun geri dönüş tipi bir dize (veya __toString tanımlanmış olan her şey) değildir tahmin ediyorum. Normalde stdClass örneklerini kullanmak sizin için olacak bir veya daha fazla özelliklere sahip olacak.

Gibi bir şey yapıyor deneyin:

print_r($calculation)

Yani bir nesne üzerinde ne söylemek gerekir, ve ne onunla yapmak isteyebilirsiniz. Ben (örneğin) çizgisinde kapalı orada bazı mülk baskı olmak isterdim tahmin ediyorum:

echo $calculation->result;

Bir dizi olarak parametreleri geçirerek deneyin:

$parameters = array('FromCurrency' => "USD",
     'ToCurrency' => "GBP");
$calculation = $soapClient->ConversionRate($parameters)
var_dump($calculation);

var_dump() could highlight that your result is an object and the double could be a member of that object. Example:

$calculation->ConversionRateResult;