PHP XML: Недопустимое смещение, но оно в массиве?

$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 – это XML-документ, загруженный с помощью SimpleXMLElement.

Теперь, помоги мне здесь. Когда я эхо $dag он отображает «Fri», потому что это пятница. Поэтому я пытаюсь преобразовать английские слова дней на мой язык (голландский). Но это не работает, потому что я понимаю:

 Предупреждение: тип недопустимого смещения в C: \ data \ home \ www \ awnl-xml \ index.php в строке 21
 Op wordt het 18.5 graden
 Предупреждение: тип недопустимого смещения в C: \ data \ home \ www \ awnl-xml \ index.php в строке 21
 Op wordt het 18 graden
 Предупреждение: тип недопустимого смещения в C: \ data \ home \ www \ awnl-xml \ index.php в строке 21
 ...

Кто-нибудь знает, почему я получаю эту ошибку? Благодарю.

Related of "PHP XML: Недопустимое смещение, но оно в массиве?"

$dag будет объектом типа SimpleXMLElement . Объекты не могут использоваться для ключей массива, поэтому вы получаете предупреждение «Недопустимый тип смещения».

Сначала объект должен быть отброшен до подходящего типа перед тем, как его использовать так, в вашем случае это должна быть строка.

 $dag = (string) $verwachting->dagvdweek;