Как отобразить только определенные данные из XML-файла в PHP с массивом с SimpleXML?

Я нашел канал Atom, где отображаются все курсы валют по отношению к евро.
Я совершенно новичок в XML-файлах, и поэтому я спрашиваю, как я могу отображать только несколько скоростей (определенных в массиве), а не все скорости в файле PHP?

Вот мой PHP-код (со ссылкой на исходный XML-файл):

<?php
$fichier = 'http://spreadsheets.google.com/feeds/list/0Av2v4lMxiJ1AdE9laEZJdzhmMzdmcW90VWNfUTYtM2c/1/public/basic';
$xml = simplexml_load_file($fichier);

$cur_arr = array('AED','CAD','USD');

foreach($xml as $entry){
echo $entry->title.' ';
echo substr($entry->content, 8, 8).'<br /><br>';
}
?>

Я хотел бы отображать только курсы валют, указанных в моем массиве (AED, CAD, USD).

1

Решение

Вы были очень близки, нужно было только подать заявку in_array() и настройте параметры substr () (если вы не умышленно усекаете десятичную длину).

Протестированный код:

$fichier = 'http://spreadsheets.google.com/feeds/list/0Av2v4lMxiJ1AdE9laEZJdzhmMzdmcW90VWNfUTYtM2c/1/public/basic';
$xml = simplexml_load_file($fichier);

$cur_arr = array('AED','CAD','USD');

foreach($xml as $entry){
if (in_array($entry->title, $cur_arr)) {
echo "<div>$entry->title : " , substr($entry->content, 8) , "</div>";
}
}

Выход:

AED : 4.196204158
CAD : 1.500774188
USD : 1.142446

Если вы хотите, чтобы все числа были «дополнены» нулями до определенного количества десятичных знаков, используйте str_pad(),

0

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

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