Hexdec ist eine PHP-integrierte Funktion, die Hex-Saiten in Dezimalzahlen umwandelt.
int hexdec ( string $hex_string )
Zum Beispiel:
echo hexdec("1A"); // Ausgabe 26
Substr wird verwendet, um Substrings bestimmter Positionen und Längen in Saiten abzufangen.
string substr ( string $string , int $start [, int $length ] )
Zum Beispiel:
echo substr("abcdef", 1, 3); // Ausgabe "bcd"
Angenommen, wir haben eine Zeichenfolge, die mehrere hexadezimale Zahlen enthält, die mit anderen Zeichen gemischt sind, z. B.:
$data = "id=abc1234fxyz";
Unser Ziel ist es, den "1234F" -Teil aus dieser Schnur (unter der Annahme, dass seine Position bekannt ist) auszuziehen und ihn in eine Dezimalzahl umzuwandeln.
Die Implementierungsmethode lautet wie folgt:
<?php
$data = "id=abc1234fxyz";
// Aus der Saite6Beginnen Sie mit Charakteren,Abfangen5Charaktere(Im Augenblick "1234f")
$hexString = substr($data, 5, 5);
// 将Abfangen的Hexadezimalschnur转换为十进制数字
$decimalValue = hexdec($hexString);
echo "Hexadezimalschnur: " . $hexString . "\n";
echo "Konvertierte Dezimalwerte: " . $decimalValue . "\n";
?>
Ausgabe:
Hexadezimalschnur: 1234f
Konvertierte Dezimalwerte: 74575
Wenn sich die hexadezimale Zeichenfolge nicht in einer festen Position befindet, können Sie die String -Suchfunktion Strpos verwenden, um sie zu lokalisieren, und dann mit Substr abzufangen.
Zum Beispiel:
<?php
$data = "user=xyz&code=1a2b3c&status=ok";
// auftauchen "code=" Position in String
$pos = strpos($data, "code=");
if ($pos !== false) {
// "code=" Die Ausgangsposition der Hexadezimalzahl
$start = $pos + strlen("code=");
// Angenommen, die Länge der Hexadezimalzahl ist6
$hexString = substr($data, $start, 6);
$decimalValue = hexdec($hexString);
echo "提取的Hexadezimalschnur: " . $hexString . "\n";
echo "Konvertierte Dezimalwerte: " . $decimalValue . "\n";
} else {
echo "未auftauchen指定的Hexadezimalschnur。\n";
}
?>
Ausgabe:
提取的Hexadezimalschnur: 1a2b3c
Konvertierte Dezimalwerte: 1715004
Substr wird verwendet, um den angegebenen Teil der Zeichenfolge abzufangen.
Hexdec konvertiert eine Hex -Zeichenfolge in einen Dezimalwert.
Die Kombination der beiden erleichtert es einfach, Hexadezimalzahlen in eine Schnur zu extrahieren und zu konvertieren.