HexDec သည် hexadecimal နံပါတ်များကို 0 တ်စုံပုံစံဖြင့်သာလက်ခံသည်။ string non-string မဟုတ်သောအမျိုးအစားကိုမဖွင့်ပါက PHP သည်အလိုအလျောက်ပထမဆုံးပြောင်းလဲလိမ့်မည်, သို့သော်၎င်းသည်ရလဒ်မှချွင်းချက်ဖြစ်စေနိုင်သည်။ ဥပမာအားဖြင့်:
<?php
// အသုံးပြုမှုမှန်ကန်သော,string input ကို
echo hexdec("1a"); // ထုတ်လုပ်ခြင်း 26
// ဒစ်ဂျစ်တယ် input ကို,အလိုအလျောက် string ကိုကူးပြောင်း "26"
echo hexdec(26); // ထုတ်လုပ်ခြင်း 38,အကေြာင်းမှာ 26 တစ် string ကိုအဖြစ်ကုသလိမ့်မည် "26" ကိုင်တွယ်ဖြေရှင်းသည်
ဤအလိုအလျောက်အမျိုးအစားပြောင်းလဲခြင်းသည်ဖြစ်ပေါ်စေနိုင်သောနားလည်မှုလွဲမှားခြင်းများကိုဂရုပြုပါ။ Input Parametersters အမျိုးအစားကို debugging အတွက်ပထမ ဦး ဆုံးခြေလှမ်းဖြစ်ပါတယ်အတည်ပြုပါ။
hexdec သည် မျှော်လင့်ချက်များနှင့်မကိုက်ညီသောရလဒ်ကိုအကြိမ်ကြိမ်ပြန်ပို့သည်။ ဤအချိန်တွင် input contents ကိုမခေါ်ဆိုခင်ဒေတာကိုပုံနှိပ်နိုင်သလား။
<?php
$hexString = "1g"; // တရားမဝင်ဇာတ်ကောင် g
if (!ctype_xdigit($hexString)) {
echo "Input string တွင် hexadecimal မဟုတ်သောစာလုံးများပါရှိသည်: $hexString\n";
}
echo hexdec($hexString); // ထုတ်လုပ်ခြင်း 1,အကေြာင်းမှာ遇到တရားမဝင်ဇာတ်ကောင်后停止转换
coverpe_xdigit () function ကိုသုံးရန်အလေ့အကျင့်သည် string သည် hexadecimal တွင်တရားဝင်ရှိမရှိရှာဖွေရန်အလေ့အကျင့်ကောင်းတစ်ခုဖြစ်သည်။
အကယ်. သင်သည် PHPPMOM ကဲ့သို့သောခေတ်သစ် ID များကိုအသုံးပြုပါက, ပရိုဂရမ်ကို breakpoints, step-by-step debugging set up လုပ်ရန်အကြံပြုသည် ။ Real-time variable အမျိုးအစားများနှင့်တန်ဖိုးများကိုလေ့လာခြင်းသည်မမျှော်လင့်သောသွင်းအားစုများသို့မဟုတ်ဒေတာညစ်ညမ်းမှုကိုရှာဖွေတွေ့ရှိရန်ကူညီနိုင်သည်။
hexdec သည် ခြွင်းချက်များကိုမချသော်လည်း PHP ၏အမှားမှတ်တမ်းနှင့်ခေါ်ဆိုမှုအချို့ကို Call Point တွင်လုံခြုံရေးကုဒ်အချို့ကိုရေးရန်ချွင်းချက်ကိုင်တွယ်ခြင်းယန္တရားကိုသုံးနိုင်သည်။
<?php
set_error_handler(function($errno, $errstr) {
echo "အမှားဖမ်းယူ: [$errno] $errstr\n";
});
$input = "zz123";
if (!ctype_xdigit($input)) {
trigger_error("hexadecimal string ကိုရိုက်ထည့်ပါ: $input", E_USER_WARNING);
}
echo hexdec($input);
Input ခြွင်းချက်များ၏မှတ်တမ်းရှာဖွေတွေ့ရှိမှုသည်ခေါ်ဆိုမှုကွင်းဆက်ကိုနေရာချထားရန်ကူညီသည်။
HexDec ခေါ်ဆိုမှုကို function တစ်ခုအဖြစ်ရေးဆွဲခြင်း, ဒီဇိုင်းယူနစ်စမ်းသပ်မှုအမှုများသို့ oncapsult encapsulate, ပုံမှန်, နယ်နိမိတ်နှင့်ခြွင်းချက်သွင်းအားစုများကိုဖုံးအုပ်ထားပါ။
<?php
function safeHexDec(string $hex) : int {
if (!ctype_xdigit($hex)) {
throw new InvalidArgumentException("တရားမဝင် hexadecimal string ကို: $hex");
}
return hexdec($hex);
}
ထို့နောက်စမ်းသပ်မှုကို Phpunit ဖြင့်ရေးပါ။
<?php
use PHPUnit\Framework\TestCase;
class HexDecTest extends TestCase {
public function testValidHex() {
$this->assertEquals(26, safeHexDec("1a"));
}
public function testInvalidHex() {
$this->expectException(InvalidArgumentException::class);
safeHexDec("1g");
}
}
တစ်ခါတစ်ရံတွင် PHP output ၏ရလဒ်များကိုသေချာစေရန် Hexadecimal ကိုဒ decimal မရှိစေရန် Hexadecimal ကိုအမြန်အတည်ပြုရန်အွန်လိုင်းကိရိယာများသို့မဟုတ် command line printf ကို သုံးနိုင်သည်။
အထက်ပါအဆင့်များမှတစ်ဆင့် HexDec ခေါ်ဆိုမှုများရှိပြ problems နာများကိုလျင်မြန်စွာရှာဖွေတွေ့ရှိနိုင်ပြီးသွယ်ဝိုက်သောအမျိုးအစားပြောင်းလဲခြင်း, input charging ကိုထိန်းသိမ်းခြင်း, မှတ်တမ်းတင်ခြင်းနှင့်ယူနစ်စစ်ဆေးမှုကိုစိတ်ထဲထည့်သွင်းခြင်း,
<?php
// နမူနာ:လုံခြုံတဲ့ခေါ်ဆိုမှု hexdec ၏လုပ်ဆောင်ချက်များကို
function safeHexDec(string $hex): int {
if (!ctype_xdigit($hex)) {
throw new InvalidArgumentException("တရားမဝင် hexadecimal string ကို: $hex");
}
return hexdec($hex);
}
try {
$value = safeHexDec("1a3f");
echo "ရလဒ်ပြောင်းလဲ: $value\n";
} catch (InvalidArgumentException $e) {
echo "အမှား: " . $e->getMessage() . "\n";
}
?>