我正在用php编写一个文件元数据应用程序,我需要搜索有几个标签的文件。该信息存储在一个包含fileId和tagID的mySQL表中。我这样做的方法是搜索表中的第一个tagId,然后取结果文件列表与其余标记的连续SQL调用的交集:
$files = $cfiles->searchFiles($owner,$tags[0]);
foreach($tags as $tag){
$temp = $cfiles->searchFiles($owner, $tag);
$files = array_intersect($files, $temp);
} 问题是array_intersect创建了一个关联数组,即,
$files=数组(“id1”,"id2",..."idn");
变成了
$files =数组(“0”=> "id1","1“=> "id2",...
当我带着它自己的交叉口。问题是,在下一个标签的下一次迭代中,array_intersection会失败,因为我会得到一个关联数组和一个非关联数组的交集。有没有人能开导我一下?
发布于 2014-11-06 18:51:56
因此,当数组的条目是数组本身时(就像我的例子中一样),array_intersect就不起作用了。使用array_uintersect()可以做到这一点。
https://stackoverflow.com/questions/26775849
复制相似问题