В общем есть такой xml документ:
<Domains>
<DomainData IsValid="true">
<DomainName>mozilla.com</DomainName>
<Values>
<Data>
<Parameter>Cy</Parameter>
<Value xsi:type="CyApiData">
<Cy>12000</Cy>
<Yaca>0</Yaca>
<YaBarMirrow>0</YaBarMirrow>
</Value>
</Data>
</Values>
</DomainData>
А вот пример из официальной документации, но в самом нижнем цикле немного изменен, чтобы записывать нужные мне данные в ассоциативный массив (домен = тиц).
foreach($sessionData->Domains->DomainData as $domain)
{
// Доменное имя
echo $domain->DomainName."<br/>";
$str = $domain->DomainName;
foreach($domain->Values->Data as $data)
{
echo $data->Parameter."<br/>";
echo $data->Value."<br/>";
foreach(get_object_vars($data->Value) as $paramKey => $paramValue)
{
//echo "{$paramKey} = {$paramValue}"."<br/>";
if( stristr($paramKey,"cy") )
{
//$out_array["domain"][] = $domain->DomainName;
//$out_array["domain"]["cy"][] = $paramValue;
$out_array[$str][] = $paramValue;
}
}
}
echo "<br/>";
Но почему-то все время получаю ошибку и пустой массив на выходе:
Warning: Illegal offset type in C:\xampp\htdocs\w\functions\domain.php on line 1
19
Этот элемент вроде строковый, но видимо это не так на деле, поэтому интерпретатор ругается. В чем может быть дело и как правильно записать данные в массив? Спасибо!