လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Array_diff_ukey မှတဆင့် Blacklist filtering ယန္တရားကိုဘယ်လိုအကောင်အထည်ဖော်မလဲ ()

Array_diff_ukey မှတဆင့် Blacklist filtering ယန္တရားကိုဘယ်လိုအကောင်အထည်ဖော်မလဲ ()

M66 2025-05-14

Blacklist Filtering သည်ဖွံ့ဖြိုးရေးစဉ်အတွင်းဘုံလိုအပ်ချက်ဖြစ်သည်။ ကျွန်ုပ်တို့တွင်အသုံးပြုသူလက်လှမ်းမီမှုဆိုင်ရာအချက်အလက်များရှိသည်ဆိုပါစို့။ အချို့သောလူနေအိမ်ရှင်အသုံးပြုသူများကိုဖယ်ထုတ်လိုပါကအချို့သောအခြေအနေများအပေါ် အခြေခံ. မသင့်လျော်သော access ကိုစစ်ထုတ်လိုကြသည်။ ဤအချိန်တွင် array_diff_ukey () function ကိုသည်အသုံးဝင်သည်။ ၎င်းသည်ခင်းကျင်း၏အဓိကအကြောင်းရင်းများအပေါ် အခြေခံ. ၎င်းကိုသင့်အားလက်တွေ့စာရင်းစစ်ထုတ်သည့်ယန္တရားကိုအကောင်အထည်ဖော်ရန်ကူညီနိုင်သည်။

array_diff_ukey () function သည် PHP တွင် built-in function တစ်ခုဖြစ်ပြီးအဓိကအမည်ပေါ် အခြေခံ. array နှစ်ခုကို အခြေခံ. array နှစ်ခုနှင့်ကွဲပြားခြားနားသောအစိတ်အပိုင်းများကိုပြန်လည်ရရှိခဲ့သည်။ ၎င်း၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 array_diff_ukey(array $array1, array $array2, callable $key_compare_func): array

parameter သည်ရှင်းလင်းချက်:

  • $ array1 : ပထမ ဦး ဆုံးခင်းကျင်း။

  • $ array2 : ဒုတိယခင်းကျင်း။

  • $ key_compare_funct : callback function ကိုနှစ်ခု array နှစ်ခုရဲ့အဓိကနာမည်တွေကိုနှိုင်းယှဉ်ပြီးသော့ချက်အမည်နှစ်ခုတန်းတူရှိမရှိ boolean value ကိုပြန်ပို့ပေးတဲ့ boolean value ကိုပြန်ပို့လိုက်တယ်။

အမှန်တကယ်နာမည်ပျက်စာရင်းစစ်ခြင်းလျှောက်လွှာများတွင်အသုံးပြုသူများကိုနာမည်ပျက်စာရင်းတွင်ထုတ်ယူရန်ဤ function ကိုသုံးနိုင်သည်။ နောက်တစ်ခုက Blacklist filtering ယန္တရားကိုအကောင်အထည်ဖော်ရန် Array_diff_ukey () ကို မည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ဖော်ပြရန်ဥပမာတစ်ခုကိုအသုံးပြုမည်။

နမူနာကုဒ်:

ကျွန်ုပ်တို့တွင် array နှစ်ခုရှိသည်ဆိုပါစို့, အသုံးပြုသူသည်အသုံးပြုသူလက်လှမ်းမီရေးဆိုင်ရာ array ဖြစ်သည်။ အခြားတစ်ခုမှာ Blacklist Array ဖြစ်သည်။

 <?php
// အသုံးပြုသူရယူထားသည့် array,အသုံးပြုသူအတွက်သော့ချက်ID,တန်ဖိုးသည်အသုံးပြုသူ၏ Access Record ဖြစ်သည်
$accessLogs = [
    1 => "Access History1",
    2 => "Access History2",
    3 => "Access History3",
    4 => "Access History4",
    5 => "Access History5"
];

// Blacklist Array,သော့သည် Blacklisted အသုံးပြုသူဖြစ်သည်ID
$blacklist = [
    2 => "နာမည်ပျက်စာရင်းဝင်အသုံးပြုသူများ",
    4 => "နာမည်ပျက်စာရင်းဝင်အသုံးပြုသူများ"
];

// Custom Key နှိုင်းယှဉ် function ကို,နှစ်ခုသော့ချက်အမည်များတန်းတူရှိမရှိဆုံးဖြတ်ရန်
function compare_keys($key1, $key2) {
    return $key1 - $key2;
}

// အသုံးပြု array_diff_ukey function ကို function ကို Blacklist ရှိသုံးစွဲသူများကိုထုတ်ပေးသည်
$filteredLogs = array_diff_ukey($accessLogs, $blacklist, 'compare_keys');

// 输出过滤后的Access History
print_r($filteredLogs);
?>

code parsing:

  1. ကျနော်တို့ပထမ ဦး ဆုံး array နှစ်ခုကိုသတ်မှတ်, $ accesslogs သည်အသုံးပြုသူ Access Records များပါ 0 င်သည့် array တစ်ခုဖြစ်ပြီး ဒေါ်လာနာမည်ပျက်စာရင်းမှာ အနက်ရောင်စာရင်းဖြစ်သည်။ Array နှစ်ခုစလုံး၏သော့များသည်အသုံးပြုသူ ID များဖြစ်သည်။

  2. နောက်တစ်ခုက contact_keys လို့ခေါ်တဲ့ function တစ်ခုကိုသတ်မှတ်ထားတဲ့ function ကိုသတ်မှတ်ထားတဲ့ function တစ်ခုကိုသတ်မှတ်ပါတယ်။ ဤလုပ်ဆောင်ချက်သည် array_diff_ukey () function ကို callback parameter parameter အတွက်အသုံးပြုသည်။ သော့နှစ်ခုသည်တန်းတူရှိမရှိဆုံးဖြတ်ရန် Boolean တန်ဖိုးကိုပြန်ပို့သည်။

  3. ထို့နောက်အသုံးပြုသူများကို Blacklist Array ရှိသုံးစွဲသူများအား filter လုပ်ရန် array_diff_ukey () function ကို သုံး. Blacklist တွင်မပါ 0 င်သော filter လုပ်ထားသော arry -filteredlogs အသစ်များကိုပြန်ပို့ပါ။

  4. နောက်ဆုံးအနေဖြင့် filtered ရလဒ်သည် print_r () မှတစ်ဆင့် output ကိုဖြစ်သည်။

ရလဒ်များအစက်အပြောက်:

 Array
(
    [1] => Access History1
    [3] => Access History3
    [5] => Access History5
)

အပေါ်တွင်ဖော်ပြထားသည့်အတိုင်းနာမည်ပျက်စာရင်းတွင်အသုံးပြုသူများ (IDs 2 နှင့် 4) တွင်အသုံးပြုသူများကိုအောင်မြင်စွာ filter လုပ်ထားပြီးကျန်ရှိနေသေးသော Access မှတ်တမ်းများတွင်နာမည်ပျက်စာရင်းတွင်သာပါ 0 င်သည်။

လျှောက်လွှာအခြေအနေများ:

ဤနည်းလမ်းကိုအခြေအနေမျိုးစုံဖြင့်အသုံးပြုနိုင်သည်။

  • Blacklisted အသုံးပြုသူများက 0 င်ရောက်နိုင်ရန်အတွက်ဝက်ဘ်ဆိုက်အသုံးပြုသူမှဝင်ရောက်ခွင့်မှတ်တမ်းစစ်ထုတ်ခြင်း။

  • ခွင့်ပြုချက်မရှိဘဲ IP လိပ်စာများကိုတရားဝင်တောင်းဆိုမှုများကိုသာလက်ခံရန်သေချာစေရန်အတွက်အချို့သောခွင့်မပြုသည့် IP လိပ်စာများကို filter လုပ်ပါ။

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

အကျဉ်းချုပ်:

PHP တွင် array_diff_ukey () function မှတဆင့် Blacklist filtering ယန္တရားကိုထိရောက်စွာအကောင်အထည်ဖော်နိုင်ပါသည်။ စိတ်ကြိုက်သော့ချက်ကျသောအဓိကနှိုင်းယှဉ်ခြင်း function နှင့်ပေါင်းစပ်ပြီးအသုံးပြုသူများသို့မဟုတ်အချက်အလက်များကိုမှန်ကန်စွာစီရန်အောင်မြင်ရန်ခင်းကျင်း၏အဓိကအမည်များကိုသင်ပြောင်းလဲနိုင်သည်။ အကယ်. အလားတူဖွံ့ဖြိုးတိုးတက်မှုတွင်အလားတူလုပ်ဆောင်မှုများလိုအပ်ပါက array_diff_ukey () function သည်အလွန်လက်တွေ့ကျသောကိရိယာတစ်ခုဖြစ်သည်မှာသေချာသည်။