Php 从两行中查找公共数据,数据用逗号分隔
我是php的新手。我面临以下问题需要解决。Php 从两行中查找公共数据,数据用逗号分隔,php,mysql,Php,Mysql,我是php的新手。我面临以下问题需要解决。 我有下表 -------------------------------------- Items T_id -------------------------------------- I1-------- T1,T4,T5,T7,T7,T8,T9 I2-------- T1, T2, T3, T4, T6, T8, T9 I3-------- T5, T6, T7, T8, T9 现在我想从两行中查找公共项,
我有下表
--------------------------------------
Items T_id
--------------------------------------
I1-------- T1,T4,T5,T7,T7,T8,T9
I2-------- T1, T2, T3, T4, T6, T8, T9
I3-------- T5, T6, T7, T8, T9
现在我想从两行中查找公共项,数据用逗号分隔
--------------------------------------
Items T_id
--------------------------------------
I1,I2----- T1,T4,T8,T9
I2,I3----- T6,T8,T9
还希望找到三行的公共事务id
--------------------------------------
Items T_id
--------------------------------------
I1,I2,I3-- T8,T9
有人对上述问题有想法吗?请给出答案。示例显示了一行,如果来自数据库查询,则该行未规范化。如果数据在数据库中,第一步是将其标准化,然后可以使用内部联接 否则,您可能希望在您的应用程序上反复检查并应用它 排
- 将第一行和第二行放入数组(可以使用explode)
- 计算其交点(将其命名为rowIntersection)
- 将第三行放入数组
- 使用行交叉点计算其交叉点
- 然后重复,直到排完为止
$sql=select * from table;
$arr=array();
while($row=mysql_fetch_assoc($sql)){
$arr[]=explode(',',$row['T_id']);
}
$arr_merge=array();
foreach($arr as $value){
$arr_merge[]=array_merge($arr_merge,$value)
}
$arr_val[]=array_intersect($arr_merge);
该示例显示一个未规范化的行。如果数据在数据库中,第一步是将其标准化,然后您可以使用联接。在应答器上添加注释根据您的请求更改。规范化数据