Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll

Пытаюсь создать парсер погоды

Пытаюсь создать парсер погоды
, by

Дан xml

<code>

1 answer
votes: 767
Answer

Вам нужно обработать xml, а для этого нужно перевести его в массив. Здесь есть пара примеров как перевести xml в массив:

http://gaarf.info/2009/08/13/xml-string-to-php-array
http://php.net/manual/ru/book.simplexml.php
http://www.bin-co.com/php/scripts/xml2array/


блин я обработал xml без массива чисто вытащил переменные... а есть более проще вариант (мои знание не дорости пока что до массивов)? хочу сделать такой модуль погоды http://ufa1.ru/weather/Ufa/. А цикл foreach ($xml->forecast->day as $day) можно так использовать?


Если у вас day это массив или объект с несколькими значениями, тогда да можно использовать foreach, чтобы перебрать все значения.


А так?

for ($i=0;$i<$m;$i++){

$day_w[$i]=$xml->day[$i]['date'];

$date = new DateTime($day_w[$i]);

echo $date->format('d-m-Y');

for ($f=0;$f<5;$f++){

$day_part=array('1'=>'утром','2'=>'днем','3'=>'вечером','4'=>'ночью');

echo $day_part[$f];

}

 

}

 

вроде действенный метод) что скажите?


for ($f=0;$f<5;$f++){

$day_part=array('1'=>'утром','2'=>'днем','3'=>'вечером','4'=>'ночью');

echo $day_part[$f];

}

Вместо этого можно использовать foreach

foreach($day_part as $part){
  echo $part;
}

Там требуется взять только 4 параметра вместо 6ти по этой причине сделал через for. Ну а вообще теоритически верно сделал в будущем с ним проблем не возникнет?


Как правило проблемы возникают только, когда API меняют. Если код работает, то он и будет работать.


Благодарю. Smile