【发布时间】:2014-02-12 13:01:54
【问题描述】:
以下代码成功检索并显示 XML 文件中的名称和价格元素。
我还想显示 XML“商店”值的文本,但不希望显示任何重复的商店名称。
所以我创建了 storeArray 来保存商店的名称,但不知道如何防止重复的商店名称被插入到数组中。
在下面的代码中,“Best Buy”显示了两次(使用第二个 foreach 循环时),但我只希望它显示一次。
有没有办法在 storeArray 中插入商店的名称,同时防止重复的商店名称被插入?
或者有比下面的代码更好的方法吗?
$xmlDoc = simplexml_load_file("products.xml");
$storeArray = array();
foreach($xmlDoc->product as $Product) {
echo "Name: " . $Product->name . ", ";
echo "Price: " . $Product->price . ", ";
$storeArray[] = $Product->store;
echo "<br>";
}
foreach ($storeArray as $store) {
echo $store . "<br>";
}
XML 文件:
<products>
<product type="Electronics">
<name> Desktop</name>
<price>499.99</price>
<store>Best Buy</store>
</product>
<product type="Electronics">
<name>Lap top</name>
<price>599.99</price>
<store>Best Buy</store>
</product>
<product type="Hardware">
<name>Hand Saw</name>
<price>99.99</price>
<store>Lowes</store>
</product>
</products>
【问题讨论】:
-
erm 只是在添加之前检查数组是否已经包含它??