使用skuArray
方法和下面的第一个simplexml_load_file
循环,使用XML文件中的值填充foreach
:
$XMLproducts = simplexml_load_file("products.xml");
$skuArray = array();
foreach($XMLproducts->product as $Product) {
$skuArray[] = (string)$Product->sku; // Product->sku contains the sku value obtained from the XML file
}
在这种情况下,插入skuArray
的值为(5, 7, 3, 7, 1, 5, 7)
。
填充数组后,我们会使用skuArray
方法检查array_count_values
中是否存在任何重复值。如果是这样,if
语句将执行一些代码。
$multipleSku = array_count_values($skuArray);
此if
循环中的foreach
语句不执行代码,即使数组中存在多个值(5和7在此数组中多次)。
foreach($XMLproducts->product as $Product) {
if ($multipleSku[$Product->sku] > 1) {
echo $Product->sku;
}
}
代码看起来写得正确!有什么建议?谢谢!
答案 0 :(得分:0)
试试这个
foreach($XMLproducts->product as $Product) {
$sku = (string) $Product->sku;
if ($multipleSku[$sku] > 1) {
echo $Product->sku;
}
}