Heim > Artikel > Backend-Entwicklung > PHP-Funktion crc32(), die den 32-Bit-CRC eines Strings berechnet
Beispiel
Das Ergebnis von crc32() ausgeben:
<?php $str = crc32("Hello World!"); printf("%un",$str); ?>
Definition und Verwendung
Die Funktion crc32() berechnet eine Zeichenfolge 32 -bit CRC (Cyclic Redundancy Check).
Mit dieser Funktion kann die Integrität der Daten überprüft werden.
Tipp: Um sicherzustellen, dass Sie die korrekte Zeichenfolgendarstellung von der crc32()-Funktion erhalten, müssen Sie den %u-Formatierer der printf()- oder sprintf()-Funktion verwenden. Wenn das Formatzeichen %u nicht verwendet wird, werden die Ergebnisse möglicherweise als falsche oder negative Zahlen angezeigt.
Syntax
crc32(string)
Parameterbeschreibung
Zeichenfolge Erforderlich. Gibt die zu berechnende Zeichenfolge an.
Technische Details
Rückgabewert: Gibt das 32-Bit-Polynom des zyklischen Redundanzprüfcodes der Zeichenfolge in der Form einer Ganzzahl zurück.
PHP-Version: 4.0.1+
Beispiel 1
In diesem Beispiel werden wir das Ergebnis von crc32() mit und ohne den „%u“-Formatierer ausgeben (Hinweis das Ergebnis ist das gleiche):
<?php $str = crc32("Hello world!"); echo 'Without %u: '.$str."<br>"; echo 'With %u: '; printf("%u",$str); ?>
Der obige Code gibt Folgendes aus:
Without %u: 461707669 With %u: 461707669
Beispiel 2
In diesem Beispiel geben wir die Ergebnisse von crc32 aus () mit und ohne „%u“-Formatierer (beachten Sie, dass die Ergebnisse unterschiedlich sind):
<?php $str = crc32("Hello world."); echo 'Without %u: '.$str."<br>"; echo 'With %u: '; printf("%u",$str); ?>
Der obige Code gibt Folgendes aus:
Without %u: -1959132156 With %u: 2335835140
Das von crc32 zurückgegebene Ergebnis wird Überlauf auf einem 32-Bit-Computer, daher kann das Ergebnis eine negative Zahl sein. Auf einem 64-Bit-Computer gibt es keinen Überlauf, daher ist er immer positiv.
Der CRC-Algorithmus wird basierend auf der Anzahl der Bits in der Wortlänge berechnet.
Die crc32-Funktion berechnet PHP_INT_SIZE und PHP_INT_MAX gemäß den beiden Konstantenreferenzen in PHP Die Definitionen dieser beiden Konstanten:
Die Wortlänge von Ganzzahlen hängt zusammen Obwohl das übliche Maximum etwa zwei Milliarden beträgt (32-Bit-Signatur). PHP unterstützt keine vorzeichenlosen Ganzzahlen. Die Wortlänge des
Integer-Werts kann durch die Konstante PHP_INT_SIZE dargestellt werden. Seit PHP 4.4.0 und PHP 5.0.5 kann der Maximalwert durch die Konstante PHP_INT_MAX dargestellt werden. Ausgabe PHP_INT_SIZE: 4, PHP_INT_MAX: 2147483647 in den nächsten 32 Bits
PHP_INT_SIZE: 8, PHP_INT_MAX: 9223372036854775807
Das obige ist der detaillierte Inhalt vonPHP-Funktion crc32(), die den 32-Bit-CRC eines Strings berechnet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!