2011-06-26 104 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,不會更通用的教程更適合你嗎?祝你好運,我學到了同樣的道理,這可能會很艱難但很有收穫。