首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP strcmp问题

PHP strcmp问题
EN

Stack Overflow用户
提问于 2011-08-28 22:59:21
回答 2查看 301关注 0票数 0

我一直在写一个网络爬虫程序,我试图比较以前的网址(上一次访问的网站)与当前的网址(当前或下一个网站访问)。为此,我使用如下所示的strcmp函数:

代码语言:javascript
复制
array_push($currentsite, $source);
  if (strcmp($currentsite[2], $currentsite[3])==0){
    echo "redundancy";
    crawlWebsite($originalsource);  
    }

其中,当前站点是先前站点和当前站点的数组。我每次都会在更大的程序中使用递归循环遍历新的站点。

但是,每次我在当前站点和新站点上运行strcmp时,即使urls相同,我也会得到-1的结果。有人知道为什么这种情况会持续发生吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-28 23:14:14

可能您正在测试的站点包含使其具有唯一性的内容,例如当前时间或用于保存会话的隐藏ID,或者类似下面的内容。

无论如何,这将导致strcmp不返回0。最好有一个函数给你一个相等的百分比,这样你就可以定义一个级别,在这个级别上,你认为两个网站是相同的。

票数 0
EN

Stack Overflow用户

发布于 2011-08-28 23:05:13

即使当urls相同时,

如果两个输入字符串相同,则strcmp返回0,因此您的输入字符串不相同。检查$currentsite的内容。

顺便说一句,可以高效地将strcmp($a, $b) == 0重写为$a == $b

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7221704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档