Heim > Backend-Entwicklung > PHP-Tutorial > PHP-Funktion crc32(), die den 32-Bit-CRC eines Strings berechnet

PHP-Funktion crc32(), die den 32-Bit-CRC eines Strings berechnet

黄舟
Freigeben: 2023-03-16 21:54:01
Original
2495 Leute haben es durchsucht

Beispiel

Das Ergebnis von crc32() ausgeben:

<?php
$str = crc32("Hello World!");
printf("%un",$str);
?>
Nach dem Login kopieren

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)
Nach dem Login kopieren

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 &#39;Without %u: &#39;.$str."<br>";
echo &#39;With %u: &#39;;
printf("%u",$str);
?>
Nach dem Login kopieren

Der obige Code gibt Folgendes aus:

Without %u: 461707669
With %u: 461707669
Nach dem Login kopieren

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 &#39;Without %u: &#39;.$str."<br>";
echo &#39;With %u: &#39;;
printf("%u",$str);
?>
Nach dem Login kopieren

Der obige Code gibt Folgendes aus:

Without %u: -1959132156
With %u: 2335835140
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage