Я нашел канал 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).
Вы были очень близки, нужно было только подать заявку 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()
,
Других решений пока нет …