$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 ...
Кто-нибудь знает, почему я получаю эту ошибку? Благодарю.
$dag
будет объектом типа SimpleXMLElement
. Объекты не могут использоваться для ключей массива, поэтому вы получаете предупреждение «Недопустимый тип смещения».
Сначала объект должен быть отброшен до подходящего типа перед тем, как его использовать так, в вашем случае это должна быть строка.
$dag = (string) $verwachting->dagvdweek;