phpbar.de logo

Mailinglisten-Archive

[php] crc32 probleme

[php] crc32 probleme

Kai Meder php_(at)_phpcenter.de
Fri, 19 Jul 2002 16:09:05 +0200


hoffe mir selbst geholfen zu haben ... ;)

kann sich jemand den alogrithmus anschauen und mir seine meinung dazu
sagen ?
vielleicht findet der eine oder andere noch paar sachen um den code zu
beschleunigen ...

anforderungen waren:

input:
    string
    länge: 1-50
    zeichen [a-z0-9_]

output:
    integer
    länge: 10

----------------------------------------------
function int_checksum($str)
{
$id = 0;
$prev_c = 0;

$str_len = strlen($str);
for ($i=0; $i<$str_len; $i++)
 {
 /* value */
 $c = ord(substr($str , $i , 1));

 /* crossfoot */
 $cf = 0;
 for ($j=0; $j<strlen($c); $j++)
  $cf += substr($c , $j , 1);

 /* difference */
 $diff = abs($c - $prev_c);

 /* multiplying the data */
 if ($diff > 0)
  $id += ($c * $cf * $diff);
 else
  $id += ($c * $cf);

 $prev_c = $c;
 }

return str_pad($id, 10 , '0' , STR_PAD_RIGHT);
}

----------------------------------------------

also, was meint ihr ?
btw, das ding produziert eigentlich nur 7-stellige ids...

--
Kai Meder
kai_(at)_meder.info


php::bar PHP Wiki   -   Listenarchive