PHP တွင် HexDec function ကို hex string ကိုဒ decimal မကိန်းတစ်ခုသို့ပြောင်းရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်မှုသည်အလွန်ရိုးရှင်းပြီးအသုံးပြုရန်လွယ်ကူသော်လည်းအသုံးပြုရန်လွယ်ကူသော်လည်းအသုံးပြုသောအခါ အကယ်. input string format နှင့် ပတ်သက်. သင်သတိထားမိသည်မဟုတ်လျှင်၎င်းသည်ပြင်းထန်သောယုတ္တိဗေဒအမှားများကိုဖြစ်ပေါ်စေနိုင်သည်။ Hexdec ကို အသုံးပြုသောအခါ developer များအသုံးပြုခြင်းနှင့်ဤထောင်ချောက်များကိုဥပမာများမှတဆင့်မည်သို့ရှောင်ရှားနိုင်ကြောင်းဤဆောင်းပါးသည်ဤဆောင်းပါးသည်အာရုံစူးစိုက်ပါလိမ့်မည်။
Hexdec သည် string parameter ကိုလက်ခံပြီး၎င်းကို hexadecimal နံပါတ်တစ်ခုဟုယူဆပြီးသက်ဆိုင်ရာဒ decimal မတန်ဖိုးကိုပြန်လည်ရယူသည်။ ဥပမာအားဖြင့်:
<code> <? PHP Echo Hexdec ('1A'); // output 26?> </ code>ဤအသုံးပြုမှုသည်အသုံးအများဆုံးဖြစ်သည်, သို့သော်ပြ the နာသည် input ကိုစံသတ်မှတ်ချက်မပြည့်မီသောအခြေအနေတွင်တွေ့ရသည်။
Hexadecimal တွင် PHP သည်အက်ခရာဝေစု (AFS) ကိုအထိခိုက်မခံသော်လည်း၎င်းသည်စည်းလုံးသော coding စတိုင်ကိုထိန်းသိမ်းရန်အလေ့အကျင့်ကောင်းတစ်ခုဖြစ်သည်။ ဥပမာအားဖြင့်:
<code> <? PHP Echo Hexdec ('1A'); // output 26 echo hexdec ('1A'); // လည်း 26?> </ code>၎င်းသည်အမှားအယွင်းတစ်ခုမဟုတ်ပါ, သို့သော်ဖွံ့ဖြိုးရေးအဖွဲ့မှတစ်စုံတစ် ဦး ကအထက်နှင့်အောက်ပိုင်းတွင်ကွဲပြားမှုရှိကြောင်းမှားယွင်းစွာစဉ်းစားမိလျှင်၎င်းသည်ရှုပ်ထွေးစေနိုင်သည်ဟုထင်မြင်သည်။
ဘုံအမှားတစ်ခုသည် 0x သို့မဟုတ် # # ရှေ့ဆက်ပါ 0 င်သည့် string ကို hexdec သို့တိုက်ရိုက်ပါ 0 င်သည်။
<code> <? PHP Echo HexDec ('0x1A'); // အမှန်တကယ် output သည် 0x1A တွင် 'x' တွင် 'x' 'ဖြစ်သောကြောင့် hex ဇာတ်ကောင်မဟုတ်ပါ။ > </ code>ဤသို့ပြုလုပ်ရန်မှန်ကန်သောနည်းလမ်းမှာရှေ့ဆက်ကိုလက်ဖြင့်လက်ဖြင့်ထိုးခြင်းဖြစ်သည်။
<Code> <? PHP $ hex = '0x1A'; $ စင်ကြယ်သော = strow_replace ('0x', '', strtolower ($ hex)); ECHO HEXDEC ($ စင်ကြယ်သည်); // output 26?> </ code>HexDec သည် Hexadecimal ဇာတ်ကောင်မဟုတ်သောဇာတ်ကောင်များနှင့်တွေ့ဆုံသည့်အခါပထမ ဦး ဆုံးတရားမဝင်ဇာတ်ကောင်များကြုံတွေ့ရသောအခါမှားယွင်းသောတရားမ 0 င်သောဇာတ်ကောင်များကြုံတွေ့ရသောအခါမှားယွင်းစွာရပ်တန့်သွားလိမ့်မည်။ အမှားအယွင်းများမရှိပါ။ ဤသို့သော "သည်းခံခြင်း" အပြုအမူသည်ဝှက်ထားသောအန္တရာယ်များကိုဖြစ်ပေါ်စေနိုင်သည်။
<code> <? PHP Echo Hexdec ('1A2G'); // output 418, G?> <w?> </ code>ထို့ကြောင့် string သည် hexdec ကို မခေါ်မီခိုင်လုံသောအက္ခရာများပါ 0 င်ခြင်းရှိမရှိစစ်ဆေးရန်ပုံမှန်စကားရပ်ကိုအသုံးပြုရန်အကြံပြုသည်။
<code> <? PHP $ input = '1A2G'; အကယ်. (Preg_match (0-9a-fa-f] +) + $ / ', $ inputc)) {Echo Hexdec ($ inputec ($ inputec), } အခြား echo "တရားမဝင် hex string"; }?> </ code>hexadecimal string သည်အသုံးပြုသူထည့်သွင်းမှုမှဆင်းသောအခါ, ဥပမာ, URL parameter:
<code> <? php // https://gitbox.net/scrip.php?color=FR0000 $ color = $ _get ['color] ?? '000000 0000'; အကယ်. (Preg_match ('/ ^) [0-9a-fa-f] {6} $ /' $ /, $ အရောင်))
$ အနီရောင် = hexdec (substrdcdc ($ အရောင်, 0, 2));
$ အစိမ်းရောင် = hexdec (substrdec ($ အရောင်, 2, 2));
$ အပြာ = hexDec (substrdcdec (substred ($ အရောင်, 4, 2));
ECHO "RGB: $ အနီရောင်, Green, $ အပြာ";
} အခြား
ECHO "အရောင်သတ်မှတ်ချက်များသည်တရားမဝင်";
}
>
</ code>
ဤကဲ့သို့သောအသုံးပြုမှုမြင်ကွင်းမျိုးသည်အလွန်များသောအားဖြင့်, သို့သော်သင်အတည်မပြုရသေးပါက၎င်းသည်အရောင်မှားသို့မဟုတ်အမှားများကိုပင်ဖြစ်စေနိုင်သည်။
အလွယ်တကူလျစ်လျူရှုထားသည့်အခြားပြ problem နာတစ်ခုမှာ string or null တွင်ဖြတ်သန်းသွားသည်။
<code> <? PHP Echo Hexdec (''); // output 0 echo hexdec (null); // output 0?> </ code>၎င်းသည် PHP တွင် bug မဟုတ်ဘဲ HexDec ၏ဒီဇိုင်းအပြုအမူဖြစ်သည်။ အကယ်. သင် input ကိုသေချာစွာစစ်ဆေးလိုပါကခေါ်ဆိုခြင်းမပြုမီ၎င်းသည်ဗလာမဟုတ်ကြောင်းဆုံးဖြတ်သင့်သည်။
<code> <?php function safe_hexdec($value) { if (!is_string($value) || trim($value) === '') { throw new InvalidArgumentException('Invalid hex input'); } လျှင် (! Preg_Match (0-9a-fa-f] + + $ / ', $ တန်ဖိုး)) လျှင် (' တရားမ 0 င် hex format) အသစ်ကိုပစ်ပါ။ } Repure HexDec ($ တန်ဖိုး); }?> </ code>Hexdec သည်အခြေခံကျသောလုပ်ဆောင်မှုဖြစ်ပြီးအမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်, အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုပုံစံကိုလျစ်လျူရှုထားလျှင်, အထူးသဖြင့်အသုံးပြုသူ input ကိုပြုပြင်ခြင်း, URL parametersters နှင့် configuration data များ, format scrufication data and format scriguration နှင့်ခြွင်းချက်ဆိုင်ရာစီမံခန့်ခွဲမှုများကိုအမြဲတမ်းပြုလုပ်သင့်သည်။