Also $unsigned resultiert das gleiche Ergebnis wie INET_ATON() in MySQL. Demnach werde ich $unsigned nutzen und in MySQL "INT(10) unsigned" als Spaltenwert hinterlegen.
EDIT:
Dadurch hat sich ein kleines anderes Problem ergeben. Und zwar beim Erstellen der MySQL-Abfragen unterscheide ich aus Sicherheitsgründen zwischen Integer mit intval() oder String mit mysql_real_escape_string(). Durch einen kleinen Test bin ich nun dazu gekommen, dass ich neben intval() auch floatval() einsetze, wenn ich weiß, dass die Zahl größer ist, als es intval() erlaubt:
Code:
$crc32 = sprintf('%u', crc32('example.com')); // 3069857465
$ucrc32 = sprintf('%u', $crc32); // 2147483647
$dcrc32 = sprintf('%d', $crc32); // 2147483647
$icrc32 = intval($crc32); // 2147483647
$ocrc32 = sprintf('%.0f', $crc32); // 3069857465
$fcrc32 = floatval($crc32); // 3069857465
floatval() gibt den Wert mit Kommastellen zurück. Wer das nicht will, soll die sprintf()-Variante nutzen. Bitte aber nicht vergessen, dass float rundet. Wer das auch nicht will, muss sich mit preg_replace() behelfen.