XML в PHP не отображает массив

Мне нужно отобразить массив PHP данных из файла XML (https://pogoda.yandex.ru/static/cities.xml). Я хочу в массиве все «id». Помогите мне найти ошибку. Спасибо

<?php
$data_file_city="https://pogoda.yandex.ru/static/cities.xml";
$xml_city = simplexml_load_file($data_file_city);

foreach($xml_city->country as $key=>$value){
foreach ($value->city as $key1=>$value1) {
$id = array("$value1[country]");
echo $id;
}
}

0

Решение

каждый $value1 в вашем foreach является объектом SimpleXMLElement с атрибутами

Для получения атрибутов такого объекта используйте attributes функция:

$ids = array();
$countries = array();
foreach($xml_city->country as $key=>$value){
foreach ($value->city as $key1=>$value1) {
$attrs = $value1->attributes();

// Use `strval` function to cast attribute value to `string` type

// get `id` attribute
$id = strval($attrs['id']);

// get `country` attribute
$country = strval($attrs['country']);

echo $id, '<br />', $country;

// add to array
$ids[] = $id;
$countries[] = $country;
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]