【发布时间】:2013-07-06 20:24:44
【问题描述】:
我有一个 XML 文件,其中包含标签 <image_file_name>,此标签重复,有时此值重复,我正在尝试查找 <image_file_name> 的唯一实例值的总数。
$simpleXML = simplexml_load_file("stock_availability.xml");
$uniqueProducts = array();
foreach ($simpleXML->product as $product) {
$image_file_name = $product->image_file_name;
if(in_array($image_file_name, $uniqueProducts)) {
echo 1;
} else {
$uniqueProducts[] = $image_file_name;
echo 2;
}
$image_file_name = null;
}
echo count($uniqueProducts);
count() 返回image_file_name 非唯一实例的实例总数。
2 也会连续回显,1 永远不会回显。
【问题讨论】:
-
我认为这是因为您犯了一个小错误,您需要先将 simlexmlelement 转换为字符串,以便获得可用于检查唯一性的值。否则,您将一直在寻找唯一的 simplexmlelement。但是表示它的元素值的字符串不是唯一的。
$image_file_name = (string) $product->image_file_name;- 在寻找此类错误时,请注意故障排除,仔细检查各个点的预期。 -
@hakre 谢谢你修复了它