Web Development တွင်အသုံးပြုသူများအတွက်ခွင့်ပြုချက်အဆင်သင့်များကိုကျွန်ုပ်တို့မကြာခဏသတ်မှတ်ရန်လိုအပ်သည်။ ခွင့်ပြုချက်ကိုသိုလှောင်ခြင်းနှင့်ထုတ်လွှင့်ခြင်းများကိုရိုးရှင်းစေရန်ခွင့်ပြုချက်ပြည်နယ်သည်ကိန်းတစ်ခုသို့ချုံ့နိုင်သည်။ PHP ၏ Bindec function သည် binary string ကို decimal integer အဖြစ်သို့ပြောင်းလဲစေနိုင်သည်။
ကျွန်ုပ်တို့သည်သုံးစွဲသူ၏ခွင့်ပြုချက်အခြေအနေကိုကိုယ်စားပြုသော boolean တန်ဖိုးများအပေးအယူများရှိသည်ဆိုပါစို့။
$permissions = [true, false, true, true];
boolean value တစ်ခုချင်းစီသည်ခွင့်ပြုချက်ကိုကိုယ်စားပြုသည်, မှန်ကန်သော ဆိုလိုသည်မှာ၎င်းသည်ခွင့်ပြုချက်ရရှိထားခြင်း, မှားယွင်းသော နည်းလမ်းများသည်ခွင့်ပြုချက်မရှိပါ။ ကျွန်ုပ်တို့သည်ဤခင်းကျင်းမှုကိုသိုလှောင်ရန်နှင့်နှိုင်းယှဉ်မှုအတွက်ဒ decimal မကိန်းတစ်ခုထဲသို့ပြောင်းလဲလိုသည်။
Bindec သည် PHP တွင် bining in function တစ်ခုဖြစ်ပြီး Binary string ကိုဒ decimal မကိန်းတစ်ခုထဲသို့ပြောင်းလဲစေသည်။ အသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
$decimal = bindec('1011'); // ဝင်သည်11
ဒါကြောင့် Boolean Array ကို '1011' လိုမျိုးပုံစံကိုဘယ်လိုပြောင်းလဲမလဲ။
<?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 ကို ခေါ်ပါ။
ဒေတာဘေ့စ်မှဒ 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]
ဤနည်းလမ်းသည်အသုံးပြုသူခွင့်ပြုချက်များ, အခန်းကဏ် controls, configuration ပစ္စည်းများနှင့်အခြားစနစ်များကိုသတ်မှတ်ရာတွင်အလွန်လက်တွေ့ကျသည်။ ဥပမာအားဖြင့် https://m66.net/adminñor ကဲ့သို့သောအသုံးပြုသူ၏နောက်ခံတွင်ကျွန်ုပ်တို့သည်အသုံးပြုသူတစ် ဦး ချင်းစီ၏ခွင့်ပြုချက်ကိုချုံ့ခြင်းနှင့်ထိရောက်မှုနှင့်လုံခြုံမှုကိုတိုးတက်စေရန်သူတို့ကိုဒေတာဘေ့စ်တွင်သိမ်းထားနိုင်သည်။
Bindec function ကိုနှင့်အတူကျွန်ုပ်တို့သည် Bolean ၏ခွင့်ပြုချက်ခင်းကျင်းမှုကိုအလွယ်တကူပြောင်းလဲနိုင်သည်, သိုလှောင်မှုနှင့်တွက်ချက်မှုများကိုရိုးရှင်းစေနိုင်သည်။ Decbin နှင့်သင့်တော်သော string processing ဖြင့်ခွင့်ပြုချက်စီမံခန့်ခွဲမှုသည်ပိုမိုထိရောက်စွာနှင့်စနစ်တကျဖြစ်လိမ့်မည်။