PHP XML:非法偏移,但是在数组中? [英] PHP XML: Illegal Offset, but it is in array?
问题描述
$dagen = array(
'Mon' => 'Maandag',
'Tue' => 'Dinsdag',
'Wed' => 'Woensdag',
'Thu' => 'Donderdag',
'Fri' => 'Vrijdag',
'Sat' => 'Zaterdag',
'Sun' => 'Zondag'
);
foreach ($xml->verwachtingen->verwachting as $verwachting) {
$graden = $verwachting->maxtempGRC - $verwachting->mintempGRC;
$graden = $graden / 2;
$graden = $graden + $verwachting->mintempGRC;
$dag = $verwachting->dagvdweek;
echo 'Op '. $dagen[$dag] .' wordt het '. $graden .' graden';
}
$ xml是使用SimpleXMLElement加载的XML文档。
$xml is the XML document loaded using SimpleXMLElement.
现在,帮我在这里当我回覆 $ dag
时显示'Fri',因为它是星期五。所以我尝试把这几天的英文单词转换成我的语言(荷兰语)。但是看起来不行,因为我得到这个:
Now, help me out here. When i echo $dag
it displays 'Fri' because it is Friday. So i try to convert the english words of the days to my language (dutch). But it doesn't seem to work, because i get this:
Warning: Illegal offset type in C:\data\home\www\awnl-xml\index.php on line 21
Op wordt het 18.5 graden
Warning: Illegal offset type in C:\data\home\www\awnl-xml\index.php on line 21
Op wordt het 18 graden
Warning: Illegal offset type in C:\data\home\www\awnl-xml\index.php on line 21
...
有人知道为什么我收到此错误?谢谢。
Does someone know why i get this error? Thanks.
推荐答案
$ dag
将是一个对象, code>的SimpleXMLElement 。对象不允许用于数组键,这就是为什么你得到非法偏移类型警告。
$dag
will be an object, of type SimpleXMLElement
. Objects are not allowed to be used for array keys, which is why you are getting that "Illegal offset type" warning.
该对象必须首先被转换为合适的类型在被使用之前,在你的情况下,它应该是一个字符串。
The object must first be cast to a suitable type before being used like that, in your case it should be a string.
$dag = (string) $verwachting->dagvdweek;
这篇关于PHP XML:非法偏移,但是在数组中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!