2011-06-26 68 views
-3

我是新来的PHP。提高它的技巧。我搜索了一些例子来练习它。现在,我找到了一个。从谷歌pr功能检查代码

http://www.brightyoursite.com/blog/2010/06/01/use-php-to-get-google-page-rank/

,但对我的代码是很难理解。

function StrToNum($Str, $Check, $Magic) { 
     $Int32Unit = 4294967296; 

     $length = strlen($Str); 
     for ($i = 0; $i < $length; $i++) { 
      $Check *= $Magic; 



      if ($Check >= $Int32Unit) { 
       $Check = ($Check - $Int32Unit * (int) ($Check/$Int32Unit)); 
       //if the check less than -2^31 
       $Check = ($Check < -2147483648)? ($Check + $Int32Unit) : $Check; 
      } 
      $Check += ord($Str{$i}); 
     } 
     return $Check; 
    } 

我不太明白。期望有人能帮助我?

1,这是什么线$Int32Unit = 4294967296;

2,什么是for循环做的用途和意义?这个函数有什么用处。

+0

它从哪里来。它在哪里叫,什么是“谷歌检查”。 – Nanne

+0

我很抱歉。我已经更新了这个问题。 – runeveryday

回答

2

如果您不了解int,您为什么要删除注释?这是.....

确定:

$Int32Unit = 4294967296; // 2^32 

所以这个数字是2^32。记住这一点。

 //If the float is beyond the boundaries of integer (usually +/- 2.15e+9 = 2^31), 
     // the result of converting to integer is undefined 
     // refer to http://www.php.net/manual/en/language.types.integer.php 

现在,它会检查,如果我们要得到一个理智的答案或没有,因为你不能有太大的数转换,写在该链接和评论....

1

也许你在尝试跑步才能走路?如果这个例子对你来说太复杂了,那么再回到更简单的东西,直到你的知识得到改善,然后再回到它。

网络上有很多PHP初学者的教程,例如http://devzone.zend.com/article/627

我的意思不是听起来很刺耳,但这是一个奇怪的例子来选择学习PHP,不会更通用的教程更适合你吗?祝你好运,我学到了同样的道理,这可能会很艰难但很有收获。