PHP Development တွင်ကိန်းဂဏန်းများ ( ကိန်းဂဏန်းများ ) သည် decimal မဟုတ်ဘဲဂဏန်းတန်ဖိုးများကိုကိုယ်စားပြုသောအလွန်အသုံးများသောဒေတာအမျိုးအစားတစ်ခုဖြစ်သည်။ "Long Integer" ဟုခေါ်သော "Long Integer" သည်တရားဝင်ဒေတာအမျိုးအစားမဟုတ်ပါ, သို့သော်အလွန်ကြီးမားသောတန်ဖိုးများကိုကိုယ်စားပြုသောအပြောင်းအလဲနဲ့နည်းလမ်းကိုရည်ညွှန်းသည်။ PHP နောက်ကွယ်ရှိခြားနားချက်နှင့်အမူအကျင့်ဆိုင်ရာယန္တရားများအကြားခြားနားချက်ကိုနားလည်ခြင်းသည်ကိန်းဂဏန်းပြည့်လျှံမှုနှင့်ယုတ္တိအမှားများကိုရှောင်ရှားရန်သော့ချက်ဖြစ်သည်။
PHP မှကိန်းဂဏန်းများသိုလှောင်မှုသည်ပလက်ဖောင်းဖွင့်ထားသော bits အရေအတွက်ပေါ်မူတည်သည်။ ရိုးရိုးရှင်းရှင်းပြောရလျှင်ပလက်ဖောင်းအရသိရသည်အများဆုံးနှင့်အနိမ့်ဆုံးတန်ဖိုးများကိုအနိမ့်ဆုံးနှင့်အနည်းဆုံးတန်ဖိုးများ -
ဆိုလိုသည်မှာ PHP ကုဒ်သည်အထူးသဖြင့်နယ်နိမိတ်တန်ဖိုးများပါ 0 င်သည့်အခါကွဲပြားခြားနားသောပလက်ဖောင်းများတွင်ကွဲပြားခြားနားသောရလဒ်များထုတ်လုပ်နိုင်သည်။
အောက်ဖော်ပြပါ PHP တွင်နံပါတ်အမြောက်အများကိုကိုယ်စားပြုသည့်စံကိန်းဂဏန်းများနှင့် variable များကိုမည်သို့ကြေညာရမည်ကိုပြသသည်။
$integer = 123456789;
$long = 9223372036854775807; // တည်နေ64ပလက်ဖောင်းပေါ်တွင်တရားဝင်
echo "Integer: $integer\n";
echo "Long: $long\n";
တန်ဖိုးသည် platform integer ၏အများဆုံးအကွာအဝေးထက်ကျော်လွန်သောအခါ PHP သည်၎င်းကို floating point type သို့အလိုအလျောက်ပြောင်းလဲလိမ့်မည်။ ဤအပြုအမူသည်အစီအစဉ်ကိုအနှောင့်အယှက်မဖြစ်စေရန်သေချာစေသော်လည်း၎င်းသည်တိကျမှန်ကန်မှုကင်းမဲ့ခြင်း၏ပြ problem နာကိုလည်းမိတ်ဆက်ပေးနိုင်သည်။
လျှံလျှံလျှံနေမှုသည်ဖွံ့ဖြိုးရေးလုပ်ငန်းစဉ်အတွင်းမကြာခဏသတိမထားမိသောလျှို့ဝှက်အန္တရာယ်ဖြစ်သည်။ ဥပမာအားဖြင့်:
$big_number = 2147483647;
$result = $big_number + 1; // တည်နေ32bit system ထဲမှာ,ရလဒ်ကအနုတ်လက်ခဏာဖြစ်လာသည်
echo "Result: $result\n";
ဤဥပမာတွင်လျှပ်စစ်ဓာတ်အားသည်အသေးငယ်ဆုံးကိန်းသို့အသေးငယ်ဆုံးကိန်းတစ်ခုသို့ကွင်းဆက်ထားပြီး,
ကိန်းဂဏန်းများထက် ကျော်လွန်. တန်ဖိုးများကိုလုံခြုံစွာကိုင်တွယ်ရန် PHP သည်အဓိကတိုးချဲ့မှုနှစ်ခုကိုထောက်ပံ့ပေးသည်။
BC သင်္ချာကိုအသုံးပြုခြင်း၏အခြေခံဥပမာမှာအောက်ပါအတိုင်းဖြစ်သည် -
// အသုံးပြု BC Math Super Bood Integers ကိုကိုင်တွယ်ပါ
bcscale(0); // ဒ decimal မသောနေရာအရေအတွက်ကိုသတ်မှတ်ပါ
$big_number = '123456789012345678901234567890';
$factor = '2';
$result = bcadd($big_number, $factor);
echo "Result using BC Math: $result\n";
PHP တွင်ကိန်းဂဏန်းများ၏အပြုအမူသည်ပလက်ဖောင်းနှင့်နီးကပ်စွာဆက်နွယ်နေပြီးရှည်လျားသောကိန်းဂဏန်းများကိုပြုပြင်ခြင်းသည်များသောအားဖြင့်တိုးချဲ့ကိရိယာများပေါ်တွင်မူတည်သည်။ ပလက်ဖောင်းကွဲပြားမှုများကိုကျွမ်းကျင်စွာကွဲပြားခြားနားမှုများ, ယိုဖိတ်မှုအန္တရာယ်များကိုရှောင်ရှားခြင်း, ပရိုဂရမ်အား 0 န်ဆောင်မှုကိုမြှင့်တင်ရန်ဖွံ့ဖြိုးတိုးတက်စဉ်ကာလအတွင်းကန့်သတ်ချက်ဆိုင်ရာနည်းလမ်းအပြောင်းအလဲအတွက်ယုတ္တိဗေဒကိုပုံမှန်စစ်ဆေးရန်နှင့်စစ်ဆေးရန်အကြံပြုသည်။