လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ရွေးချယ်စရာမျိုးစုံဖွင့်ထားရှိမရှိကိုလျင်မြန်စွာဆုံးဖြတ်ရန် Bindec () ကိုသုံးပါ

ရွေးချယ်စရာမျိုးစုံဖွင့်ထားရှိမရှိကိုလျင်မြန်စွာဆုံးဖြတ်ရန် Bindec () ကိုသုံးပါ

M66 2025-06-04

PHP ပရိုဂရမ်တွင်ရွေးချယ်စရာမျိုးစုံကိုဖွင့်ထားခြင်းရှိမရှိဆုံးဖြတ်ရန်ကျွန်ုပ်တို့မကြာခဏလိုအပ်သည်။ ဥပမာအားဖြင့် configuration item တွင် binary flags များစွာပါ 0 င်နိုင်သည်။ တရားစီရင်ခြင်းသည်လူတစ် ဦး အားတရားသူကြီးတစ် ဦး ဖြစ်လျှင် အသုံးပြုသည်။ စင်စစ်အားဖြင့် PHP ၏ Built-in Bettec () function သည်ဤသို့သောတရားစီရင်ခြင်းမျိုးကိုအလျင်အမြန်နားလည်သဘောပေါက်ရန်နှင့်စုံတွဲနှင့်ထိရောက်သောကျင့်ထုံးကိုရေးရန်ပေါင်းစပ်ထားသောကွန်ပျူတာများကိုပေါင်းစပ်ရန်ကူညီနိုင်သည်။

1 ။ Bindec () function ကိုမိတ်ဆက်

Bindec () သည် PHP built-in function ဖြစ်သည်။ ၎င်းသည်အက္ခရာများ 0 'နှင့်' 1 'ဖြင့်ဖွဲ့စည်းထားသော string ကိုလက်ခံရရှိပြီးသက်ဆိုင်ရာဒ decimal မတန်ဖိုးကိုပြန်ပို့သည်။

ဥပမာ -

 <?php
$binary = "1011";
$decimal = bindec($binary);  // 11
echo $decimal;
?>

2 ။ ရွေးချယ်စရာမျိုးစုံ၏ status ကိုဆုံးဖြတ်ရန် Bindec () ကိုသုံးပါ

ကျွန်ုပ်တို့တွင် configuration string တစ်ခုရှိသည်ဆိုပါစို့။ ဂဏန်းတစ်ခုစီသည်ရွေးချယ်စရာတစ်ခုဖြစ်ခြင်းရှိမရှိကိုကိုယ်စားပြုသည်။

 $options = "10101"; // ညွှန်ပြ1、3、5ရွေးချယ်စရာများကိုဖွင့်ထားသည်

သက်ဆိုင်ရာဒ decimal မတန်ဖိုးကိုရရှိရန် Bindec ($ ရွေးစရာများ) ကို ခေါ်ပါ။

 <?php
$options = "10101";
$decimal = bindec($options);  // 21
?>

အကယ်. တိကျသော option ကိုဖွင့်ထားရှိမရှိကိုသင်ဆုံးဖြတ်လိုပါကတတိယရွေးချယ်မှု (လက်ဝဲဘက်သို့ရေတွက်ခြင်း) ကဲ့သို့သင်အနည်းငယ်သာတွက်ချက်ရန်လိုအပ်သည်။

 <?php
$decimal = bindec("10101");  // 21
$flag = 1 << 2;  // 1 ။3bitmas,မှ0စတင်ပါ,2代表1 ။3မြင်းဇက်ကြိုး
$is_enabled = ($decimal & $flag) !== 0;
echo $is_enabled ? "ဖွင့်လှစ်" : "ရုပ်သိမ်းခြင်း";
?>

3 ။ ရွေးချယ်စရာများစွာ၏လျင်မြန်စွာတရားစီရင်ခြင်းအောင်မြင်ရန် Bindec () နှင့်ပေါင်းစပ်

ရွေးချယ်မှုအားလုံး၏အခြေအနေကို binary strings များဖြင့်ကိုယ်စားပြုနိုင်သည်။ သူတို့ကိုဒ decimal မသို့ကူးပြောင်းပြီးနောက်၎င်းတို့ကိုချက်ချင်းမျက်နှာဖုံးများဖြင့်အလျင်အမြန်တရားစီရင်ခြင်းကိုအလျင်အမြန်တရားစီရင်ခြင်းကိုအလျင်အမြန်တရားစွဲဆိုနိုင်ပြီးအသုတ်ပြည်နယ်တရားသဖြင့်စီရင်ခြင်းအတွက်သင့်တော်သည်။

နမူနာကုဒ်:

 <?php
// option ကို configuration string ကို,အရှည်ရွေးချယ်စရာအရေအတွက်ကိုကိုယ်စားပြုတယ်
$options = "11011";  // ညွှန်ပြ1、2、4、5ရွေးချယ်စရာများကိုဖွင့်ထားသည်

// ဒ decimal မလွှဲပါ
$decimal = bindec($options);

// detect လုပ်ဖို့ option ကိုမျက်နှာဖုံးကိုသတ်မှတ်ပါ,比如检测1 ။2和1 ။4个选项是否都ဖွင့်လှစ်
$mask = (1 << 1) | (1 << 3);  // 1 ။2和1 ။4မြင်းဇက်ကြိုး

// 判断是否同时ဖွင့်လှစ်
if (($decimal & $mask) === $mask) {
    echo "1 ။2和1 ။4个选项均已ဖွင့်လှစ်";
} else {
    echo "1 ။2和1 ။4个选项未全部ဖွင့်လှစ်";
}
?>

4 ။ လက်တွေ့အခြေအနေများနှင့်အားသာချက်များ

  • ခွင့်ပြုချက်စီမံခန့်ခွဲမှု - သင်၌ခွင့်ပြုချက်အချို့ရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုသူခွင့်ပြုချက်များကိုကိုယ်စားပြုရန် Binary Flags string ကိုသုံးပါ။

  • functional switch : ဒေတာဘေ့စ်လယ်ကွင်းများနှင့်ရှင်းလင်းသောယုတ္တိဗေဒကိုကယ်တင်ရန် function switches ကို configure လုပ်ပါ။

  • စွမ်းဆောင်ရည်အားသာချက်များ : မြင့်မားသောစွမ်းဆောင်ရည်လိုအပ်ချက်အတွက်သင့်လျော်သောစွမ်းဆောင်ရည်မြင့်မားသောတွက်ချက်မှုထိရောက်မှု။

Bindec () နှင့်ပေါင်းစပ်ရန် Biny strings များကိုခွဲခြမ်းစိတ်ဖြာရန်ကုဒ်သည်တိကျသောနှင့်နားလည်ရန်လွယ်ကူပြီးထိန်းသိမ်းရန်လွယ်ကူသည်။