我一直在尝试不同的解决方案来解决这个问题,但没有成功。问题是这样的:
我有一些来自 Zend_Search_Lucene 的结果,它给出了 3 个结果,ID 为:2、3、4
然后我从一个用 Doctrine 制作的不相关查询中获得了一些记录,它给了我两条 ID 为 ID 的记录:2 和 3。
Search Lucene 的结果应该在页面上显示为总共 3 条记录。其中我需要检查一个ID是否等于Docrine查询的另一个ID,即是否存在匹配,即: 2=2 , 3=3 显示某些内容,如果不是,即: 2=3 显示其他内容。
尝试使用 FOREACH 两次和 IF ELSE 语句执行此操作,但我在页面上得到双重结果:
foreach($this->results as $r): // records form search Lucene ie 2, 3, 4
foreach($this->records2 as $r2){ // records from another table (query) 2 and 3
if(($r2['id']) == ($r->id)) {
// do something
} else {
// dosothing else
}
...ETC。
我理解为什么记录重复两次,但我不知道什么是获得正确结果的正确方法。有人可以帮忙吗?如果我在做一些愚蠢的事情,我很抱歉。:)