Hex Strings နှင့်အလုပ်လုပ်သောအခါ PHP သည် hexadecimal နံပါတ်များကိုဒ decimal မသို့ပြောင်းလဲစေသည့် built-in function lexdec () ကိုထောက်ပံ့ပေးသည်။ သို့သော် HexDec () တွင် developer များစွာသည် 0xFF ၏ရှေ့ဆက် ( "0xFF" ) နှင့်အတူ string ကိုရှာဖွေတွေ့ရှိလိမ့်မည်။ သို့သော်ဤအခြေအနေသည်မျှော်လင့်ထားသည့် 255 ခုကိုရှာဖွေတွေ့ရှိသည်။
ဤဆောင်းပါးသည်ဤဖြစ်စဉ်ကိုနက်နက်နဲနဲခွဲခြမ်းစိတ်ဖြာလိမ့်မည်။ ၎င်းကိုအသုံးပြုရန်မှန်ကန်သောနည်းလမ်းကိုပေးလိမ့်မည်။
PHP ၏ Hexdec () function သည် "Perfice hex strings" ကိုကိုင်တွယ်ရန်ဒီဇိုင်းပြုလုပ်ထားပြီး၎င်းသည် 0-9 နှင့် f f (case) ကဲ့သို့သောစာလုံးများကိုသာလက်ခံသည်။ အကယ်. ဖြတ်သန်းသွားသော string သည် hexadecimal character နှင့်မသက်ဆိုင်သောအကြောင်းအရာများပါ 0 င်ပါက PHP သည်ပထမ ဦး ဆုံးတရားမဝင်သောဇာတ်ကောင်ကိုကြုံတွေ့ရသည်အထိ PHP သည် string ၏အစမှဖတ်လိမ့်မည်။
<?php
echo hexdec("FF"); // ထုတ်လုပ်ခြင်း: 255
?>
၎င်းသည်မျှော်လင့်ချက်များနှင့်ကိုက်ညီသောသာဓကတစ်ခုဖြစ်သည်။
အခုပြ the နာရဲ့အဓိကအကြောင်းရင်းကိုကြည့်ရအောင်။
<?php
echo hexdec("0xFF"); // ထုတ်လုပ်ခြင်း: 0
?>
ဤအချိန်တွင် output သည် 255 မပါပါ။ အကြောင်းပြချက်မှာရိုးရိုးရှင်းရှင်းဖြစ်သည်။ Hexdec () သည် ပထမဆုံးတရားမ 0 င်သောဇာတ်ကောင်ကိုတွေ့သောအခါ "0xff" ၏ပထမ ဦး ဆုံးဇာတ်ကောင်သည်တရား 0 င ်ဖြစ်သည်။ ဒုတိယဇာတ်ကောင်သည်တရားမ 0 င် hexadececimal ဇာတ်ကောင်ဖြစ်သော x ဖြစ်သည်။ ထို့ကြောင့် PHP သည်ပထမ ဦး ဆုံးဇာတ်ကောင် 0 ကို သာခွဲခြမ်းစိတ်ဖြာသည်။
ပရိုဂရမ်ဘာသာစကားများစွာတွင် (ဥပမာ C / C ++, Python, Python) နှင့်အတူ "0x" ရှေ့ဆက်နှင့်အတူအရေးအသားနည်းလမ်းသည်တရားဝင် hexadecimalal format နှင့်အတူအရေးအသားနည်းလမ်းဖြစ်သည်။ ထို့ကြောင့်အချို့သော developer အချို့သည် PHP ၏ Hexdec () ကိုတရား 0 င် 0 ကွေလ်၏ 0 ည့်သည်များအဖြစ် "0xFF" သို့ "0xFF" သို့တရား 0 င်ပြ inputs ္ဌမရရှိနိုင်ပါ။
အထွေထွေနှင့်ရိုးရှင်းသောဖြေရှင်းနည်း က string ကို "0x" သို့မဟုတ် "0x" ရှေ့ဆက်များကိုဖယ်ရှားခြင်း,
<?php
$input = "0xFF";
$clean = ltrim($input, "0xX"); // အားလုံးဖယ်ရှားပါလိမ့်မယ် "0", "x", "X" ဇာတ်ကောင်စတင်ခြင်း(မမှန်သော)
echo hexdec($clean); // ထုတ်လုပ်ခြင်း: 255
?>
သို့သော်ဤနည်းဖြင့် 0 ိ ညာဉ်စု ("0x0f") , ပိုမိုလုံခြုံသောနည်းလမ်းမှာ preg_replace () ကို အတိအကျဖယ်ရှားရန်မှာ -
<?php
$input = "0xFF";
$clean = preg_replace('/^0x/i', '', $input);
echo hexdec($clean); // ထုတ်လုပ်ခြင်း: 255
?>
၎င်းသည်နံပါတ်ကိုမဖျက်ဆီးဘဲ "0x" သို့မဟုတ် "0x" ကိုသာဖယ်ရှားလိမ့်မည်။
အထူးသဖြင့် https://gitbox.net/api idapi address=0xff00ff 0000 တွင် parameters များရှိ parameters များကိုလုပ်ဆောင်သည့်အခါ hexadecimal strings များနှင့်သင်ကြုံတွေ့ရပါကအထူးဂရုစိုက်သင့်သည်။
<?php
$hex = $_GET['color']; // ဥပမာအားဖြင့်: 0xFF00FF
$hex = preg_replace('/^0x/i', '', $hex);
$decimal = hexdec($hex);
echo $decimal; // ထုတ်လုပ်ခြင်း: 16711935
?>
၎င်းသည် hexadecimal နံပါတ်များကို "0x" ရှေ့ဆက်နှင့်မှန်ကန်စွာခွဲခြမ်းစိတ်ဖြာနိုင်စေရန်သေချာစေသည်။
PHP ၏ Hexdec () သည် 0x " ရှေ့ဆက်ကိုအသိအမှတ်မပြုပါ, ထို့ကြောင့် HexDec () ကိုအသုံးမပြုမီ, developer များသည် string ကိုလက်ဖြင့်သန့်ရှင်းရေးလုပ်ရန်နှင့်မှားယွင်းသောတန်ဖိုးများကိုရှောင်ရှားရန် "0x" ရှေ့ဆက်ကိုဖယ်ရှားရန်လိုအပ်သည်။ ဤအသေးစိတ်အချက်အလက်များကိုနားလည်သဘောပေါက်ခြင်းနှင့်ကိုင်တွယ်ခြင်းသည် PHP အစီအစဉ်များ၏တိကျမှန်ကန်မှုကိုသေချာစေရန်သော့ချက်ဖြစ်သည်။