PHP - array_count_values方法的问题

时间:2014-03-18 12:26:05

标签: php xml arrays

使用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;
  }
}

代码看起来写得正确!有什么建议?谢谢!

1 个答案:

答案 0 :(得分:0)

试试这个

foreach($XMLproducts->product as $Product) { 
  $sku = (string) $Product->sku;
  if ($multipleSku[$sku] > 1) {
    echo $Product->sku;
  }
}