这是我尝试过的一段代码,有人能告诉我我做错了什么吗,因为我没有得到想要的结果(请查看查询,获得以下结果的
- 61|0|0|0|0|0|0|0|0|0|0|0|0|0|70|0|0|66|0|0|
- 63|0|0|0|0|0|0|0|0|0|0|0|0|0|78|0|0|69|0|0|
)。我希望值61|0|0|0|0|0|0|0|0|0|0|0|0|0|70|0|0|66|0|0|
与61|66|70|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|
匹配,我该怎么做??
$value = '61|66|70|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|'
$toCompare = explode("|", $value, -1);
sort($toCompare );
$query = $db -> query("select groups,category_group from products ");
while($compare = $query -> fetch_assoc()){
$compareWith = explode("|", $compare['category_group']);
sort($compareWith);
if ($compareWith == $toCompare)
$compareResult = $compare['category_group'];
}
您只从products表中获取groups
列,但在循环中,您使用category_group
,每次在$compareResult
上覆盖时。使它成为数组,您将获得所有结果数组。
$compareResult = array();
$query = $db -> query("select groups,category_group from products ");
while($compare = $query -> fetch_assoc()){
$compareWith = explode("|", $compare['category_group']);
sort($compareWith);
if ($compareWith == $toCompare) $compareResult[] = $compare;
}