如何将元素添加到数组然后将数组转换为字符串? PHP

时间:2014-12-11 11:35:02

标签: php arrays preg-match

此表位于数据库

  TID         Products
   1           1,2,5 
   2            2,4 
   3            2,3 
   4           1,2,4 
   5            1,3 
   6            2,3 
   7            1,3 
   8          1,2,3,5 
   9           1,2,3 

此表由项目集的组合创建,现在只有2个项目集,但最终是3,4,5等等。如您所见,Sup计数计算该行中Itemset的Products表中的重合。

ItemSet     Sup. count 
  1,2            4 
  1,3            2 
  1,4            0 
  1,5            0 
  2,3            4 
  2,4            2 
  2,5            1 
  3,4            0 
  3,5            1 
  4,5            0




for($i = 0; $i < $count_itemsets; $i++){
    for($j = 0; $j < $count_productrow; $j++){

        $string = $productrow[$j];
        $myArray = explode(',', $string);

这会将字符串转换为第一个产品{1,2,5}

的数组示例
        $arr_expl_itemset = explode(',',$itemset[$i]);

这会使项目集爆炸,使其成为第一个ItemSet行{1,2}

的数组示例
        $count_explode = count($arr_expl_item);

这会计算新数组$arr_expl_itemset

的长度
        for ($x = 0; $x < $count_explode - 1; $x++){
            array_splice($arr_expl_item,$count_explode - 1,0,"&");
        }
        echo $arr_expl_item;

这个for循环是我想要添加新元素而不删除旧元素的地方。我要添加的新元素是用于制作如下所示数组的&符号:
1&amp; 2&amp; 5这就是为什么我将数组计数到-1,以便最后一个元素不是&符号。所有这一切然后转换为一个字符串,$arr_expl_item_STRING = 1 & 2 & 5;这就是我被卡住的地方。我真的不知道这是否适用于preg_match,但我一直在阅读并做一个OR语句,代码就像这样:

/*if(preg_match("/(bad|naughty|other)/i", $data)){
 //one of these string found
}*/  

所以我在想,如果我想与AND进行比较,我会按照之前解释过的方式进行比较。

        if (preg_match('/($arr_expl_item_STRING)/i', $string, $m)) {
            $result_support[$i] = $result_support[$i] + 1;

我想计算数组中的数字,以便我可以在products列中找到{1,3},其中字符串为{1,3},{1,2,3},{1,2, 3,5}等等。如果我做一个边界来寻找一个特定的子串,那么匹配将不起作用,如果我寻找巧合,当我得到12位或更多的两位数时,它就不会起作用,因为1和2会再次找到。

        }
    }
}

0 个答案:

没有答案