如何使用 SimpleXML 的数组仅显示 PHP 中 XML 文件的特定数据?

How to display only specific data from a XML file in PHP with an array with SimpleXML?

我找到了一个 Atom 提要,其中显示了所有对欧元的货币汇率。 我是 XML 文件的新手,这就是为什么我要问我如何只显示几个比率(在数组中定义)而不是 PHP 文件中的所有比率?

这是我的 PHP 代码(带有 link 到源 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

如果您希望所有数字都为 "padded",小数点后的特定位数为零,请使用 str_pad()