လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ကွဲပြားခြားနားသောမီနူးခွင့်ပြုချက်စနစ်တစ်ခုကိုတည်ဆောက်ရန် Array_diff () ကိုသုံးပါ

ကွဲပြားခြားနားသောမီနူးခွင့်ပြုချက်စနစ်တစ်ခုကိုတည်ဆောက်ရန် Array_diff () ကိုသုံးပါ

M66 2025-06-06

Menu ခွင့်ပြုချက်စီမံခန့်ခွဲမှုစီမံခန့်ခွဲမှုသည်စံပြခွင့်ပြုချက်စီမံခန့်ခွဲမှုစနစ်များကိုတီထွင်သောအခါဤ၏အရေးကြီးသောအပိုင်းဖြစ်သည်။ ကွဲပြားခြားနားသောမီနူးပစ္စည်းများရယူရန်မတူညီသောအသုံးပြုသူများသို့မဟုတ်အခန်းကဏ် enctions များကိုဖွင့်ရန် PHP ၏ built-in function arraiff () ကိုသုံးနိုင်သည်။ ဤဆောင်းပါးသည်ကွဲပြားသောမီနူးခွင့်ပြုချက်စီမံခန့်ခွဲမှုစနစ်ကိုအကောင်အထည်ဖော်ရန် Array_diff () function ကိုမည်သို့အသုံးပြုရမည်ကိုမိတ်ဆက်ပေးလိမ့်မည်။

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

PHP တွင် Array_diff () function သည်နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသော array နှစ်ခုသို့မဟုတ်နှစ်ခုထက် ပို. နှိုင်းယှဉ်ရန်, ၎င်း၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 array_diff(array $array1, array $array2, array ...$arrays): array

ဤလုပ်ဆောင်မှုသည် ဒေါ်လာ array 1 တွင် element များပါ 0 င်သောအရာများကိုထည့်သွင်းထားသော်လည်း ဒေါ်လာ array2 နှင့်အခြား array များမဟုတ်ပါ။

2 ။ ခွင့်ပြုချက်စီမံခန့်ခွဲမှုအတွက်အခြေခံအတွေးအခေါ်များ

Menu ခွင့်ပြုချက်စီမံခန့်ခွဲမှုတွင်အသုံးပြုသူတစ် ဦး စီတွင်ခွင့်ပြုချက်သတ်မှတ်ချက်များ (များသောအားဖြင့် menu item ၏ ID ၏ ID) တွင်ရှိသည်။ ကျွန်ုပ်တို့သည် array_diff () function ကို သုံး. စီမံခန့်ခွဲသူ၏ပြည့်စုံသောမီနူးနှင့်သာမန်သုံးစွဲသူများ၏မီနူးအကြားခြားနားချက်ကိုသုံးနိုင်သည်။

3 ။ အကောင်အထည်ဖော်မှုအဆင့်များ

3.1 မီနူးများနှင့်အသုံးပြုသူခွင့်ပြုချက်များကိုသတ်မှတ်ပါ

ပထမ ဦး စွာကျွန်ုပ်တို့သည်မီနူးများအားလုံးနှင့်အသုံးပြုသူတစ် ဦး ချင်းစီအတွက်ခွင့်ပြုချက်များစွာပါ 0 င်သည်။ ဥပမာအားဖြင့်, ကျွန်ုပ်တို့တွင် Menu menu menu menu items items items its ရိယာတစ်ခုရှိပြီးဆိုပါစို့ဆိုပါစို့။

 // စနစ်အတွင်းရှိ menu ပစ္စည်းများ
$all_menus = [
    1 => 'ရှေ့စာမျက်နှာ',
    2 => 'အသုံးပြုသူ',
    3 => 'ကုန်ပစ္စည်းစီမံခန့်ခွဲမှု',
    4 => 'အမိန့်စီမံခန့်ခွဲမှု',
    5 => 'ဘဏ် financial ာရေးဖော်ပြချက်များ',
    6 => 'စနစ်ချိန်ညှိချက်များ'
];

// အုပ်ချုပ်ရေးမှူး၏မီနူးခွင့်ပြုချက်
$admin_permissions = [1, 2, 3, 4, 5, 6];  // အုပ်ချုပ်ရေးမှူးများအားလုံးသည်မီနူးများကိုရယူနိုင်သည်

// သာမန်အသုံးပြုသူများအတွက်မီနူးခွင့်ပြုချက်
$user_permissions = [1, 2, 3, 4];  // သာမန်အသုံးပြုသူများသည်အချို့သောမီနူးများကိုသာဝင်ရောက်နိုင်သည်

3.2 ခွင့်ပြုချက်ကွဲပြားခြားနားမှုများကိုတွက်ချက်ရန် array_diff () ကို သုံးပါ

နောက် Administrator menu နှင့်သာမန်အသုံးပြုသူ menu ကိုရရှိရန်ကျွန်ုပ်တို့ array_diff () ကို သုံးသည်။ ကျွန်ုပ်တို့ပြန်လာလိုသည့် menu သည်သာမန်အသုံးပြုသူများတွင် 0 င်ရောက်ခွင့်မပြုသည့်မီနူးတစ်ခုဖြစ်ကြောင်း,

 // အုပ်ချုပ်ရေးမှူးနှင့်ပုံမှန်အသုံးပြုသူ menus အကြားခြားနားချက်ကိုရယူပါ
$diff_permissions = array_diff($admin_permissions, $user_permissions);

// ကွဲပြားခြားနားသော menu ကိုခွင့်ပြုချက်ထွက်ပုံနှိပ်ထုတ်
echo "အုပ်ချုပ်ရေးမှူး - သီးသန့်မီနူးခွင့်ခွင့်ပြုချက်:\n";
foreach ($diff_permissions as $menu_id) {
    echo $all_menus[$menu_id] . "\n";
}

3.3 output ကိုရလဒ်များ

အထက်ပါကုဒ်များမှတစ်ဆင့်ကျွန်ုပ်တို့သည်စီမံခန့်ခွဲသူတွင်စီမံခန့်ခွဲမှုရှိသည့် menu ကို output လုပ်ထားသည့်ပစ္စည်းများပြုလုပ်နိုင်သည်။ သို့သော်သာမန်အသုံးပြုသူများကိုလက်လှမ်းမမီနိုင်ပါ။ Execution ရလဒ်များမှာအောက်ပါအတိုင်းဖြစ်သည် -

 အုပ်ချုပ်ရေးမှူး - သီးသန့်မီနူးခွင့်ခွင့်ပြုချက်:
ဘဏ် financial ာရေးဖော်ပြချက်များ
စနစ်ချိန်ညှိချက်များ

4 ။ ခွင့်ပြုချက်ထိန်းချုပ်မှုကိုအကောင်အထည်ဖော်ရန် URL ကိုသုံးပါ

အမှန်တကယ်ခွင့်ပြုချက်စီမံခန့်ခွဲမှုစနစ်တွင်ကျွန်ုပ်တို့သည်အသုံးပြုသူ၏ခွင့်ပြုချက်အပေါ် အခြေခံ. ကွဲပြားခြားနားသောမီနူး links များကို dvance အရပြောင်းလဲရန်လိုအပ်သည်။ Menu item ကိုတိကျတဲ့ URL နှင့်ချိတ်ဆက်ရန်လိုအပ်ကြောင်းယူဆရသော်လည်း Menu Array ရှိ URL ကိုထည့်သွင်းပြီးခွင့်ပြုချက်များကိုစီစစ်သည့်အချိန်တွင် URL ကို filter လုပ်နိုင်ပါတယ်။

 // TEPTERTOTT URL မီနူးပစ္စည်းများ
$menus_with_url = [
    1 => ['name' => 'ရှေ့စာမျက်နှာ', 'url' => 'https://www.m66.net/home'],
    2 => ['name' => 'အသုံးပြုသူ', 'url' => 'https://www.m66.net/user-management'],
    3 => ['name' => 'ကုန်ပစ္စည်းစီမံခန့်ခွဲမှု', 'url' => 'https://www.m66.net/product-management'],
    4 => ['name' => 'အမိန့်စီမံခန့်ခွဲမှု', 'url' => 'https://www.m66.net/order-management'],
    5 => ['name' => 'ဘဏ် financial ာရေးဖော်ပြချက်များ', 'url' => 'https://www.m66.net/financial-report'],
    6 => ['name' => 'စနစ်ချိန်ညှိချက်များ', 'url' => 'https://www.m66.net/system-settings']
];

// အုပ်ချုပ်ရေးမှူးနှင့်ပုံမှန်အသုံးပြုသူ menus အကြားခြားနားချက်ကိုရယူပါ
$diff_permissions = array_diff($admin_permissions, $user_permissions);

// ကွဲပြားခြားနားသော menuus ပုံနှိပ် URL
echo "အုပ်ချုပ်ရေးမှူး - သီးသန့်မီနူးခွင့်ခွင့်ပြုချက်及链接:\n";
foreach ($diff_permissions as $menu_id) {
    echo $menus_with_url[$menu_id]['name'] . " - " . $menus_with_url[$menu_id]['url'] . "\n";
}

ကွပ်မျက်ရလဒ်များသည်ဤကဲ့သို့ဖြစ်လိမ့်မည်:

 အုပ်ချုပ်ရေးမှူး - သီးသန့်မီနူးခွင့်ခွင့်ပြုချက်及链接:
ဘဏ် financial ာရေးဖော်ပြချက်များ - https://www.m66.net/financial-report
စနစ်ချိန်ညှိချက်များ - https://www.m66.net/system-settings

5 ။ အကျဉ်းချုပ်

အထက်ပါနည်းလမ်းများမှတဆင့် PHP ၏ Array_diff () function ကိုအသုံးပြုသည်။ စီမံခန့်ခွဲသူများအားလုံးသည်မီနူးများအားလုံးကိုရယူနိုင်သည်။ URL နှင့်ပေါင်းစပ်ပြီးကျွန်ုပ်တို့သည်အသုံးပြုသူအတွေ့အကြုံကိုပိုမိုမြှင့်တင်ရန်မီနူးတစ်ခုစီအတွက်ဆက်သွယ်မှုချိတ်ဆက်မှုများပေးနိုင်သည်။

ဤနည်းအားဖြင့်အသုံးပြုသူများသည်အသုံးပြုသူများကိုခွင့်ပြုချက်ရရှိရန်ခွင့်ပြုချက်ရှိသော်လည်း၎င်းကိုအသုံးပြုသူများမြင်သာသောမီနူးများမြင်နိုင်သောမီနူးများကိုထိရောက်စွာထိန်းချုပ်နိုင်သည်။ အမှန်တကယ်လိုအပ်ချက်များနှင့်အညီဤလုပ်ဆောင်ချက်ကိုချဲ့ထွင်နိုင်ပြီးခွင့်ပြုချက်ထိန်းချုပ်ရေးယုတ္တိဗေဒကိုထည့်ပါ။