လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> UUIDS သို့မဟုတ် Guids များကိုကိုင်တွယ်ရန် Hexdec function ကိုအသုံးပြုခြင်းအတွက်လက်တွေ့ကျသောအချက်များကားအဘယ်နည်း။

UUIDS သို့မဟုတ် Guids များကိုကိုင်တွယ်ရန် Hexdec function ကိုအသုံးပြုခြင်းအတွက်လက်တွေ့ကျသောအချက်များကားအဘယ်နည်း။

gitbox 2025-06-11

HexDec function ကဘာလဲ။

HexDec သည် Hexadecimal Strings ကိုဒ decimal မကိန်းများထဲသို့ပြောင်းလဲရန် PHP built-in function တစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်:

 <?php
echo hexdec('1a'); // ထုတ်လုပ်ခြင်း 26
?>

သို့သော် Hexdec သည် ကြိုးများ၌နံပါတ်များနှင့် hexadecimal အက္ခရာများကိုသာကိုင်တွယ်နိုင်ကြောင်းသတိပြုသင့်သည်။ အကယ်. input တွင် hexadecimal အက္ခရာများပါ 0 င်ပါက uuid တွင်အလျားလိုက်အလျားလိုက်လိုင်းများတိုတောင်းသောလိုင်းများ) ပါ 0 င ပါက string ကိုပထမ ဦး စွာသန့်ရှင်းရေးလုပ်ရမည်။


UUID မှ UUID အတွက်အခြေခံလုပ်ဆောင်မှုနည်းလမ်း

UUID သည်များသောအားဖြင့်ဖြစ်သည်။

 550e8400-e29b-41d4-a716-446655440000

HexDec ကို အသုံးပြုလိုသည့်အခါကျွန်ုပ်တို့သည်အလယ်ပိုင်းတွင်တိုတောင်းသောအလျားလိုက်မျဉ်းကို ဦး စားပေးမည်။

 <?php
$uuid = '550e8400-e29b-41d4-a716-446655440000';
$cleanUuid = str_replace('-', '', $uuid);
echo hexdec($cleanUuid);
?>

မှတ်ချက် - UUID သည် (Hexadecimal ဇာတ်ကောင် 32 ယောက်) သည်ပိုရှည်သောကြောင့် decimal မကိန်းသည် PHP Integer ၏အကွာအဝေးထက်ကျော်လွန်သွားနိုင်သည်။


Outeger Range ထက်ကျော်လွန်သော UUIDs နှင့်မည်သို့ဆက်ဆံရမည်နည်း

PHP Integers သည် 64-bit စနစ်များတွင် 64-bit ရှည်လျားသောနံပါတ်များကိုထောက်ပံ့သည်။ 32 byte UUIDs များအတွက်သူတို့ကို hexdec နှင့်တိုက်ရိုက်ပြောင်းလဲမကြာခဏလျှံလိမ့်မည်။ ဖြေရှင်းချက် -

  1. BC သင်္ချာသို့မဟုတ် GMP တိုးချဲ့မှုကိုသုံးပါ ဤ extensions များသည်မည်သည့်အရှည်မဆိုဒစ်ဂျစ်တယ်တွက်ချက်မှုများကိုထောက်ပံ့သည်။

 <?php
$uuid = '550e8400-e29b-41d4-a716-446655440000';
$cleanUuid = str_replace('-', '', $uuid);

function bcHexDec($hex) {
    $dec = '0';
    $len = strlen($hex);
    for ($i = 0; $i < $len; $i++) {
        $current = hexdec($hex[$i]);
        $dec = bcmul($dec, '16');
        $dec = bcadd($dec, $current);
    }
    return $dec;
}

echo bcHexDec($cleanUuid);
?>
  1. UUID ၏အချို့သောအကွက်များကိုသာပြောင်းလဲခြင်း ဥပမာအားဖြင့်, UUID ၏ပထမစာလုံး 8 လုံးကိုသာပြောင်းပါ။

 <?php
$uuid = '550e8400-e29b-41d4-a716-446655440000';
$part = substr(str_replace('-', '', $uuid), 0, 8);
echo hexdec($part);
?>

၎င်းသည်သင့်အား indexing သို့မဟုတ်အမြန်နှိုင်းယှဉ်ရန်အတွက်သေးငယ်သည့်နံပါတ်ပေးသည်။


လက်တွေ့ကျတဲ့ကျွမ်းကျင်မှုအကျဉ်းချုပ်

  • UUID တွင်အလျားလိုက်အလျားလိုက်လိုင်းများကို UUID တွင်သန့်ရှင်းစင်ကြယ်သော string သည် Hexdec သို့ဖြတ်သန်းသွားရန်အတွက် hex စာလုံးများပါ 0 င်သည်။

  • HexDec ကို အလွန်ရှည်လျားသော UUIDs များပြောင်းလဲရန်အတွက် BCMATH (သို့) GMP ကိုအသုံးပြုသောနံပါတ်များကိုအကောင်အထည်ဖော်ရန်အသုံးပြုရန်အကြံပြုသည်။

  • လိုအပ်ချက်များအရ UUID ၏အစိတ်အပိုင်းကိုပြောင်းလဲခြင်းနှင့်ကိန်းဂဏန်းအကွာအဝေးကိုလျှော့ချရန်။

  • ဒေတာဘေ့စ်အညွှန်းကိန်းဒီဇိုင်းနှင့်အတူပေါင်းစပ်ထားသော UUID ပြောင်းလဲထားသောတန်ဖိုးများကို sorting နှင့်လျင်မြန်စွာရှာဖွေရန်အသုံးပြုသည်။


အပိုဆောင်းအချက်အပိုဆောင်းအချက် - UUID ကို URL Parameter ကိုရယူရန် HexDec ကို သုံးပါ

သင်၏စီမံကိန်းတွင် UUID parameter သည် uuid parameter တစ်ခုရှိပါက၎င်းကိုဒစ်ဂျစ်တယ်ပြုပြင်ပြောင်းလဲမှုသို့အလျင်အမြန်ပြောင်းလိုပါက၎င်းကို PHP ၏ $ _GET နှင့်ပေါင်းစပ်နိုင်သည်။

 <?php
if (isset($_GET['uuid'])) {
    $uuid = $_GET['uuid'];
    $cleanUuid = str_replace('-', '', $uuid);
    echo hexdec(substr($cleanUuid, 0, 8)); // သာပြောင်းလဲခြင်းမတိုင်မီ8မြင်းဇက်ကြိုး
}
?>

ဥပမာ access:

 https://gitbox.net/project/page.php?uuid=550e8400-e29b-41d4-a716-446655440000