Heim > Backend-Entwicklung > PHP7 > Bezüglich der Verarbeitung von Hexadezimalzeichenfolgen in PHP7

Bezüglich der Verarbeitung von Hexadezimalzeichenfolgen in PHP7

藏色散人
Freigeben: 2023-02-18 09:02:01
nach vorne
1957 Leute haben es durchsucht

Dieser Artikel wurde von der PHP7Tutorial-Kolumne geschrieben, um Ihnen die Probleme von „0xFFFFFFFF“ und 0xFFFFFFFF in PHP7 vorzustellen. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.

Spezifische Frage:

$t1 = 0x3FFFFFFF & (1 * (0xd5b42e11));
$t2 = 0x3FFFFFFF & (1 * ("0xd5b42e11"));
var_dump($t1,$t2);
Nach dem Login kopieren

Der Wert des obigen Codes in PHP7 (nicht enthalten) und den folgenden Plattformen ist:

int(364129809)
int(364129809)
Nach dem Login kopieren

Und der Wert in PHP7 ist:

int(364129809)
int(0)
Nach dem Login kopieren

Wie soll 0x in der PHP7-Umgebung gehandhabt werden? . Wie wäre es, wenn $str dem oben genannten Wert entspricht?

Lösung:

Ab PHP7 gelten Zeichenfolgen mit Hexadezimalziffern nicht mehr als Zahlen

Wenn Sie erkennen müssen, ob eine Zeichenfolge Hexadezimalziffern enthält, lautet der offiziell empfohlene Code

<?php
$str = "0xffff";
$int = filter_var($str, FILTER_VALIDATE_INT, FILTER_FLAG_ALLOW_HEX);
if (false === $int) {
    throw new Exception("Invalid integer!");
}
var_dump($int); // int(65535)
?>
Nach dem Login kopieren

für Die obige Frage sollte geändert werden zu

$t1 = 0x3FFFFFFF & (1 * (0xd5b42e11));
$t2 = 0x3FFFFFFF & (1 * (filter_var("0xd5b42e11", FILTER_VALIDATE_INT, FILTER_FLAG_ALLOW_HEX)));
var_dump($t1,$t2);
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonBezüglich der Verarbeitung von Hexadezimalzeichenfolgen in PHP7. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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