从每个循环中删除重复的字符串

时间:2015-08-23 00:55:25

标签: php string multidimensional-array foreach

我在从foreach循环的结果中删除重复项时遇到问题。

问题更多的是我如何获得数据的过程。

这是抓取我需要的数据。

$results = mysql_query($query);
     while($rows = mysql_fetch_assoc($results)){
            extract($rows);

我想抓一列item_specifiations。在此列中有多个数据,以逗号分隔。有些项目有更多数据,其他项目缺少某些数据。

$specs = explode("," , $item_specification);

我使用上面的方法分离数据。然后我运行循环以显示数据库中每个项目的数据。

foreach($specs as $spec => $key ){

现在返回每个项目(UPC,PRODUCT_NAME,ETC)分隔的每个数据,这正是我需要的。但我只需要该品牌的“品牌”。所以我做了以下几点。

  if (strpos($key, 'Brand') === 0) {
        $brand = explode(':', $key);                
   }

现在我遇到的问题是某些商品的品牌名称重复。

所以我想删除任何返回的字符串。问题是,由于这是一个循环,因此无法将字符串相互比较。每个都是它自己的数组,所以我正在处理多个多维数组。我无法找到一种方法将它们推入1个数组然后进行比较,或者使用像unique_array这样的东西。

任何建议或帮助将不胜感激。我被困了一段时间。

1 个答案:

答案 0 :(得分:0)

使用array_unique

    $var = [];
   foreach($specs as $spec => $key) {
     if(strpos($key,'Brand') === true ) {
        $brand[]= implode(',', array_unique(explode(', ',$key)));
     } 
   }

 print_r($brand);