PHP strcmp问题

时间:2011-08-28 14:59:21

标签: php web-crawler strcmp

我一直在编写一个webcrawler程序,我正在尝试将之前的网址(最后访问的网站)与当前网址(当前或下一个要访问的网站)进行比较。为此,我使用strcmp函数,例如:

array_push($currentsite, $source);
  if (strcmp($currentsite[2], $currentsite[3])==0){
    echo "redundancy";
    crawlWebsite($originalsource);  
    }

其中当前站点是以前站点和当前站点的数组。每次在较大的程序中进行递归时,我都在遍历新站点。

但是,每当我在当前网站和新网站上运行strcmp时,即使网址相同,我的结果为-1。有谁知道为什么会一直这样?

感谢。

2 个答案:

答案 0 :(得分:1)

  

即使网址相同,

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

BTW strcmp($a, $b) == 0可以有效地重写为$a == $b

答案 1 :(得分:0)

您正在测试的网站可能包含使其独一无二的内容,例如当前时间或用于保存会话的隐藏ID或类似内容。

无论如何,这将导致strcmp不返回0.如果你有一个函数可以给你一定的相等百分比,那么你可以定义一个你认为两个网站相同的级别。