From when I get result with SOAP call var_dump as follows:
stdClass Object ( [Sites] => Array ( [0] => stdClass Object ( [id] => 102728 [siteId] => 0 )
I would like to achieve call Sites array to display data:
<?php
$opts = array(
'ssl' => array('ciphers'=>'RC4-SHA', 'verify_peer'=>false, 'verify_peer_name'=>false)
);`enter code here`
// SOAP 1.2 client
$params = array (
'encoding' => 'UTF-8',
'verifypeer' => false,
'verifyhost' => false,
'soap_version' => SOAP_1_2,
'trace' => 1, 'exceptions' => 1,
"connection_timeout" => 180,
'stream_context' => stream_context_create($opts) );
//disable wsdl cache
ini_set("soap.wsdl_cache_enabled", "0");
$client = new SoapClient("http://www.example.com?WSDL",$params);
$result1=$client->getSiteInfo();
$zone = $result1->Sites;
if(isset($_POST['rayat'])){
echo $zone;
}
else {
?>
<form action="index.php" method="post">
<input id="rayat" name="rayat" size="10" type="text" value="" />
<input id="submit" name="submit" type="submit" value="submit" />
</form>
<?php
//$param = array('isbn'=>'0385503954');
// define path to server application
$opts = array(
'ssl' => array('ciphers'=>'RC4-SHA', 'verify_peer'=>false, 'verify_peer_name'=>false)
);
// SOAP 1.2 client
$params = array (
'encoding' => 'UTF-8',
'verifypeer' => false,
'verifyhost' => false,
'soap_version' => SOAP_1_2,
'trace' => 1, 'exceptions' => 1,
"connection_timeout" => 180,
'stream_context' => stream_context_create($opts) );
//disable wsdl cache
ini_set("soap.wsdl_cache_enabled", "0");
$server = '';
$client = new SoapClient("http://www.example.com?WSDL",$params);
$result1=$client->getSiteInfo();
$zone = $result1->Sites;
if(isset($_POST['rayat'])){
echo $zone;
}
else {
?>
<form action="champ.php" method="post">
<input id="rayat" name="rayat" size="10" type="text" value="" />
<input id="submit" name="submit" type="submit" value="submit" />
</form>
<?php
}
?>
<?php
}
?>
Above code give me result is 'Array'
The SOAP results are an array of objects as your var_dump() is telling you. If you are saying that your SOAP call will always only return one result, you can cheat a little by doing something like:
$zone = $result1->Sites;
if(isset($_POST['rayat'])){
echo 'ID: ' . $zone[0]->id . '<br>SiteID: ' . $zone[0]->siteid;
} else {
...