Php Stdclass Sorunu
-
Selam arkdaslar bi webservisten bi seyler alip ekrana yazdirmam gerekyior onu yaptim kod su
try{
$url = 'http://91.187.113.200/hotelweb/Service.asmx?wsdl';
$parametrat = array (
'GetRoomList' => array (
"CheckINDate" => "2012-01-27", //$_GET["datahyrjes"],
"CheckOUTDate" => "2012-01-30"//$_GET["datadaljes"]
)
);
//$client = new SoapClient($url);
$client = new SoapClient($url);
$sonuc = $client->__soapCall('GetRoomList', $parametrat);
print_r ($sonuc);
}
catch(Exception $e){
echo $e->getMessage();
}
?>
ama bi sorun var bu sonuc stdclass gibi donuyor array olarak degil onun icin print_r ekrana soyle yaziyor
object(stdClass)#2 (1) { ["GetRoomListResult"]=> object(stdClass)#3 (1) { ["any"]=> string(19485) "101SDQR2150.000020.00000.0000102SDQR2150.000020.00000.0000103SDQR2150.000020.00000.0000104SDQ" } }
aslinad soyle yazmasi gerekiyor orneyin
oda numaarsi : 101
oda tipi : SDQR
vs... bunu nasil yapabilirim yardimci olabilirmisniz
simididen tesekkurler -
get_object_vars ile arraya çevirebilirsin. eğer iç içe varsa stdclass fonksiyon yazıp döngü halinde tamamını çevirebilirsin.
edit: http://www.if-not-true-then-false.com/2009/php-tip-convert-stdclass-object-to-multidimensional-array-and-convert-multidimensional-array-to-stdclass-object/ şurda vermiş bak fonksiyon halinde
-
denedim onu calismiyordu
-
arraya cevirdim ama element element nasil yazdiracagimi bilmiyorum yardimci olursaniz cok sevinirim.
<?php
function object2Array($d)
{
if (is_object($d))
{
$d = get_object_vars($d);
}
if (is_array($d))
{
return array_map(__FUNCTION__, $d);
}
else
{
return $d;
}
}
try{
$url = 'http://91.187.113.200/hotelweb/Service.asmx?wsdl';
$parametrat = array (
'GetRoomList' => array (
"CheckINDate" => "2012-01-27", //$_GET["datahyrjes"],
"CheckOUTDate" => "2012-01-30"//$_GET["datadaljes"]
)
);
//$client = new SoapClient($url);
$client = new SoapClient($url);
$rezultati = $client->__soapCall('GetRoomList', $parametrat);
print_r($sonuc);
$vsonuc = object2Array($rezultati);
print_r($vrezultati->GetRoomListResult);
}
catch(Exception $e){
echo "U paraqit gabimi" . "</br>" . $e->getMessage();
}
?>
