Forms များနှင့်အလုပ်လုပ်သောအခါ checkbox options များစွာဖြင့်အသုံး 0 င်သောစိန်ခေါ်မှုမှာသုံးစွဲသူရွေးချယ်မှုများကိုထိရောက်စွာသိုလှောင်ရန်ဖြစ်သည်။ ရိုးရာနည်းလမ်းမှာ array သို့မဟုတ် comsa ခွဲထားသောကြိုးများကိုသုံးရန်ဖြစ်သည်။ ဤဆောင်းပါးသည် PHP ၏ Bindec () function ကိုအသုံးပြုရမည်ကိုရှင်းပြပါမည်။
ဥပမာအားဖြင့်အသုံးပြုသူများကိုသူတို့စိတ်ဝင်စားသောအကြောင်းအရာအမျိုးအစားကိုရွေးချယ်ရန်ခွင့်ပြုသည့်ပုံစံတစ်ခုရှိသည်ဆိုပါစို့။
နည်းပညာ (တန်ဖိုးသည် 1)
အားကစား (တန်ဖိုးက 2)
ဂီတ (တန်ဖိုးသည် 3)
ဂိမ်း (တန်ဖိုးသည် 4)
ရုပ်ရှင် (တန်ဖိုးသည် 5)
HTML ပုံစံကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -
<form method="post" action="https://m66.net/submit.php">
<input type="checkbox" name="interests[]" value="0"> သိပ္ပံနှင့်နည်းပညာ<br>
<input type="checkbox" name="interests[]" value="1"> ကာယပညာ<br>
<input type="checkbox" name="interests[]" value="2"> ဂီတ<br>
<input type="checkbox" name="interests[]" value="3"> အကစား<br>
<input type="checkbox" name="interests[]" value="4"> ရုပ်ရှင်လုပ်ငန်း<br>
<input type="submit" value="နားထောင်">
</form>
ဒီမှာ Check box တစ်ခုစီ၏ တန်ဖိုးကို Binary Bit တွင်၎င်း၏အနေအထားနှင့်ကိုက်ညီသည်။
ပုံစံကိုတင်ပြပြီးနောက်ကျွန်ုပ်တို့၏ရည်မှန်းချက်မှာ checkbox ကိုအသုံးပြုသူမှသတ်မှတ်ထားသော decimal integer သို့ပြောင်းလဲရန်နှင့်ဒေတာဘေ့စ်တွင်သိမ်းဆည်းရန်ဖြစ်သည်။ ဤ၏အားသာချက်မှာ၎င်းသည်သိုလှောင်မှုနေရာကိုမြန်မြန်ဆန်ဆန်ရှာဖွေခြင်းနှင့်သိမ်းဆည်းခြင်းတို့ဖြစ်သည်။
ဥပမာအားဖြင့်အသုံးပြုသူသည်နည်းပညာနှင့် "ဂီတ" ကိုစစ်ဆေးသည်ဆိုပါက 0 င်းနှင့် 2 ခုမြောက် bits ကိုစစ်ဆေးသည်။ ရရှိသော biny string သည် 10100 (မြင့်မားသောအနိမ့်သို့ရှာဖွေခြင်း) နှင့်ဒ decimal မ 20 သို့ပြောင်းလဲခြင်း။
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$interests = isset($_POST['interests']) ? $_POST['interests'] : [];
// binary bit bit array ကိုအစပြုပါ
$bits = array_fill(0, 5, '0');
foreach ($interests as $index) {
if (is_numeric($index) && $index >= 0 && $index < 5) {
$bits[(int)$index] = '1';
}
}
// bit array ကို invertt(ရှေ့တွင်မြင့်မားသော),နှင့် binary string ကိုပြောင်း
$binary_string = implode('', array_reverse($bits));
// အသုံးပြု bindec() decimal ကိန်းပြောင်း
$interest_value = bindec($binary_string);
// ရလဒ်များကိုရလဒ်များသို့မဟုတ်ဒေတာဘေ့စမှသိမ်းဆည်းပါ
echo "binary string ကို: $binary_string<br>";
echo "ဒ decimal မသိုလှောင်ထားသောတန်ဖိုးများ: $interest_value<br>";
// ဒေတာဘေ့စ်တွင်သိမ်းထားသောယုတ္တိဗေဒကိုသူ့ဟာသူတိုးချဲ့နိုင်သည်
}
?>
ဒေတာဘေ့စ်တွင်, သင်သည်ဤတန်ဖိုးကိုသိမ်းဆည်းရန် Int (11) ကဲ့သို့သော integer type field တစ်ခုဖန်တီးရန်လိုအပ်သည်။ အသုံးပြုသူအကျိုးစီးပွားကိုဖတ်ရန်လိုအပ်သည့်အခါ PHP ၏ Decbin () function ကိုသုံးရန်သာလျှင်၎င်းကို binary string ကိုပြန်ပြောင်းရန်နှင့်အသုံးပြုသူရွေးချယ်ထားသောပစ္စည်းများကို string မှတဆင့်ခွဲခြမ်းစိတ်ဖြာရန်သာလိုအပ်သည်။
<?php
$stored_value = 20; // ဥပမာတန်ဖိုးများ
$binary = str_pad(decbin($stored_value), 5, '0', STR_PAD_LEFT);
$binary_array = array_reverse(str_split($binary));
foreach ($binary_array as $index => $bit) {
if ($bit === '1') {
echo "အသုံးပြုသူသည်နံပါတ်ကိုရွေးချယ်သည် $index ရွေးချယ်စရာများ<br>";
}
}
?>
Bindec () နှင့် decbin () နှင့်အတူ () နှင့်အတူ, check box ၏ရွေးချယ်မှု၏ရွေးချယ်မှုရလဒ်များကိုသိုလှောင်ရန်ကိန်းတစ်ခုထဲသို့ထိရောက်စွာချုံ့နိုင်ပါတယ်။ ဤနည်းလမ်းသည်ဒေတာဘေ့စ်၏ရှုပ်ထွေးမှုကိုလျော့နည်းစေရုံသာမကအသုံးပြုသူကြိုက်နှစ်သက်ရာများကိုမကြာခဏဖတ်ခြင်းနှင့်စစ်ထုတ်ရန်လိုအပ်သည်။ checkbox ရွေးချယ်မှုများကိုမည်သို့စီမံခန့်ခွဲရမည်ကိုသင်စိုးရိမ်ပါကဤနည်းလမ်းကိုကြိုးစားကြည့်ပါ။