2016-06-15 2 views
0

Как я могу использовать цикл для файла simplexml_load_file для получения всех данных?PHP Loop for и simplexml_load_file

$meteo = simplexml_load_file('hxxp://dzmeteo.com/weather.xml'); 
for($i=1;$i<$jours;$i++) { 
    $d1_icon_d = $meteo->dayf->day[$i]->part[0]->icon; 
    $d1_icon_n = $meteo->dayf->day[$i]->part[1]->icon; 
    echo $d1_icon_d; 
    $i++; 
} 

ответ

1

Вы довольно близки:

$meteo = simplexml_load_file('hxxp://dzmeteo.com/weather.xml'); 
foreach ($meteo->dayf->day as $day) { 
    $d1_icon_d = $day->part[0]->icon; 
    $d1_icon_n = $day->part[1]->icon; 
    echo $d1_icon_d; 
} 

Каждый раз, когда вы хотите получить доступ к контенту на весь массив использовать foreach. Он обеспечивает надежный способ убедиться, что вы действительно видели все элементы массива и читаете свой код себе и другим.

+0

работает отлично с foreach ($ meteo-> dayf-> day as $ day) { – Hani

0

Удалить $i++; в конце цикла. Цикл for увеличит индекс для вас, так что теперь вы получаете строки 1,3,5,7 и т. Д. Вместо 1,2,3,4,5,6. Также я не уверен, что это преднамеренно, но обычно индексы начинаются с 0, а ваш начинается с 1.

+0

даже удаляет $ i ++; он ничего не отображает – Hani

+0

Вы сделали тест на чувствительность на $ jours? –