လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Boolean Array ကို Bindec နှင့်အတူဒ decimal မခွင့်ပြုချက်ကုဒ်ထဲသို့ပြောင်းလဲရန်မည်သို့ပြောင်းလဲရမည်နည်း ()

Boolean Array ကို Bindec နှင့်အတူဒ decimal မခွင့်ပြုချက်ကုဒ်ထဲသို့ပြောင်းလဲရန်မည်သို့ပြောင်းလဲရမည်နည်း ()

M66 2025-05-29

Web Development တွင်အသုံးပြုသူများအတွက်ခွင့်ပြုချက်အဆင်သင့်များကိုကျွန်ုပ်တို့မကြာခဏသတ်မှတ်ရန်လိုအပ်သည်။ ခွင့်ပြုချက်ကိုသိုလှောင်ခြင်းနှင့်ထုတ်လွှင့်ခြင်းများကိုရိုးရှင်းစေရန်ခွင့်ပြုချက်ပြည်နယ်သည်ကိန်းတစ်ခုသို့ချုံ့နိုင်သည်။ PHP ၏ Bindec function သည် binary string ကို decimal integer အဖြစ်သို့ပြောင်းလဲစေနိုင်သည်။

1 ။ ခွင့်ပြုချက်ခင်းကျင်း၏ဖွဲ့စည်းပုံ

ကျွန်ုပ်တို့သည်သုံးစွဲသူ၏ခွင့်ပြုချက်အခြေအနေကိုကိုယ်စားပြုသော boolean တန်ဖိုးများအပေးအယူများရှိသည်ဆိုပါစို့။

 $permissions = [true, false, true, true];

boolean value တစ်ခုချင်းစီသည်ခွင့်ပြုချက်ကိုကိုယ်စားပြုသည်, မှန်ကန်သော ဆိုလိုသည်မှာ၎င်းသည်ခွင့်ပြုချက်ရရှိထားခြင်း, မှားယွင်းသော နည်းလမ်းများသည်ခွင့်ပြုချက်မရှိပါ။ ကျွန်ုပ်တို့သည်ဤခင်းကျင်းမှုကိုသိုလှောင်ရန်နှင့်နှိုင်းယှဉ်မှုအတွက်ဒ decimal မကိန်းတစ်ခုထဲသို့ပြောင်းလဲလိုသည်။

2 ။ Bindec ကိုဘယ်လိုသုံးရမလဲ

Bindec သည် PHP တွင် bining in function တစ်ခုဖြစ်ပြီး Binary string ကိုဒ decimal မကိန်းတစ်ခုထဲသို့ပြောင်းလဲစေသည်။ အသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 $decimal = bindec('1011'); // ဝင်သည်11

ဒါကြောင့် Boolean Array ကို '1011' လိုမျိုးပုံစံကိုဘယ်လိုပြောင်းလဲမလဲ။

3 ။ နမူနာကုဒ်ကိုဖြည့်ပါ

 <?php

function convertPermissionsToDecimal(array $boolArray): int {
    // Boolean တန်ဖိုးများကို binary strings များသို့ပြောင်းပါ
    $binaryString = '';
    foreach ($boolArray as $bool) {
        $binaryString .= $bool ? '1' : '0';
    }

    // အသုံးပြု bindec ဒ decimal မလွှဲပါ
    return bindec($binaryString);
}

// နမူနာ
$permissions = [true, false, true, true]; // သင်တစ် ဦး ရှိသည်ဖြစ်ကြောင်းဖော်ပြသည်1、1 ။3、1 ။4ခွင့်ပြုချက်
$decimalCode = convertPermissionsToDecimal($permissions);

echo "ခွင့်ပြုချက် decimal code သည်:$decimalCode"; // ထုတ်လုပ်ခြင်း:ခွင့်ပြုချက် decimal code သည်:11

ဤကုဒ်တွင် boolean ခင်းကျင်းမှုကိုဖြတ်သန်း။ , သက်ဆိုင်ရာ binary string ကိုတည်ဆောက်ပြီး၎င်းကိုဒ decimal မဖြစ်စေရန် Bindec ကို ခေါ်ပါ။

4 ။ အဆင့်မြင့် - ခွင့်ပြုချက်ခင်းကျင်းမှုကိုပြန်လည်ရယူပါ

ဒေတာဘေ့စ်မှဒ decimal မခွင့်ပြုချက်ကုဒ်ကိုဖတ်သည့်အခါ၎င်းကို boolean array သို့ပြောင်းပြန်ပြုလုပ်နိုင်သည်။ နည်းလမ်းမှာအောက်ပါအတိုင်းဖြစ်သည် -

 <?php

function convertDecimalToPermissions(int $decimal, int $length): array {
    // တစ် ဦး binary string ကိုမှသတ်မှတ်ထားသော bits အရေအတွက်ကိုဖြည့်စွက်
    $binaryString = str_pad(decbin($decimal), $length, '0', STR_PAD_LEFT);

    // booolean ခင်းကျင်းဖို့ပြောင်းပါ
    return array_map(fn($bit) => $bit === '1', str_split($binaryString));
}

// နမူနာ:လေှျာ့ပေါ့ခြင်း11Boolean Array သည်
$restored = convertDecimalToPermissions(11, 4);

print_r($restored); // ထုတ်လုပ်ခြင်း:[true, false, true, true]

5 ။ လက်တွေ့ကျသော application အခြေအနေများ

ဤနည်းလမ်းသည်အသုံးပြုသူခွင့်ပြုချက်များ, အခန်းကဏ် controls, configuration ပစ္စည်းများနှင့်အခြားစနစ်များကိုသတ်မှတ်ရာတွင်အလွန်လက်တွေ့ကျသည်။ ဥပမာအားဖြင့် https://m66.net/adminñor ကဲ့သို့သောအသုံးပြုသူ၏နောက်ခံတွင်ကျွန်ုပ်တို့သည်အသုံးပြုသူတစ် ဦး ချင်းစီ၏ခွင့်ပြုချက်ကိုချုံ့ခြင်းနှင့်ထိရောက်မှုနှင့်လုံခြုံမှုကိုတိုးတက်စေရန်သူတို့ကိုဒေတာဘေ့စ်တွင်သိမ်းထားနိုင်သည်။

အကျဉ်းချုပ်

Bindec function ကိုနှင့်အတူကျွန်ုပ်တို့သည် Bolean ၏ခွင့်ပြုချက်ခင်းကျင်းမှုကိုအလွယ်တကူပြောင်းလဲနိုင်သည်, သိုလှောင်မှုနှင့်တွက်ချက်မှုများကိုရိုးရှင်းစေနိုင်သည်။ Decbin နှင့်သင့်တော်သော string processing ဖြင့်ခွင့်ပြုချက်စီမံခန့်ခွဲမှုသည်ပိုမိုထိရောက်စွာနှင့်စနစ်တကျဖြစ်လိမ့်မည်။