လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ဆန့်ကျင်ဘက်ယုတ္တိဗေဒထုတ်လုပ်သည့်အခါ array_diff_key () ကိုအဆင့်မြင့်အသုံးပြုမှု

ဆန့်ကျင်ဘက်ယုတ္တိဗေဒထုတ်လုပ်သည့်အခါ array_diff_key () ကိုအဆင့်မြင့်အသုံးပြုမှု

M66 2025-05-17

PHP Development တွင်ကျွန်ုပ်တို့သည် arrays အထူးသဖြင့် Arrays ၏အဓိကအကြောင်းများကိုနှိုင်းယှဉ်ရန်လိုအပ်သည်။ ပိုမိုရှုပ်ထွေးသောဒေတာအဆောက်အအုံများကိုပြုပြင်သည့်အခါ, သော့ချက်အမည်ကွဲပြားမှုကို arrys နှစ်ခုကြားရှိကွဲပြားခြားနားမှုများကိုထိရောက်စွာနှိုင်းယှဉ်ကြည့်ပါ။ PHP ၏ built-in array_diff_ey () function သည်ဤလိုအပ်ချက်ကိုပြီးမြောက်စေရန်အတိုချုပ်နှင့်ထိရောက်သောနည်းလမ်းဖြစ်သည်။

1 ။ array_diff_ey () function ကိုခြုံငုံသုံးသပ်ချက်

array_diff_ey () သည် PHP မှပေးသောခင်းကျင်းသောစစ်ဆင်ရေး function တစ်ခုဖြစ်သည်။ အဓိကအားဖြင့်နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသော array များ၏အဓိကအမည်များကိုနှိုင်းယှဉ်ထားပြီးပထမခင်းကျင်းရေးတွင်အဓိကခင်းကျင်းမှု (အခြား arrays နှင့်နှိုင်းယှဉ်လျှင်ကွဲပြားခြားနားသောနောက်တွင်)

function ကိုအဓိပ္ပါယ်:

 array array_diff_key ( array $array1 , array $array2 [, array $... ] )

parameter သည်ဖော်ပြချက်:

  • $ array1 : နှိုင်းယှဉ်ခံရဖို့ array ။

  • $ array2 : $ array1 နှင့်နှိုင်းယှဉ်ဖို့လိုအပ်တဲ့ array တစ်ခု,

  • Return Value: $ array 12 တွင်မရှိသော $ array1 တွင်သော့ချက်ထည့်ထားသောခင်းကျင်းမှုအသစ်တစ်ခု။

2 ။ လက်တွေ့ကျသော application အခြေအနေများ

အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် array_diff_key () function ၏ application ၏အခြေအနေများသည်အလွန်ကျယ်ပြန့်သည်။ ကျွန်ုပ်တို့မကြာခဏ arrays မျိုးစုံမှတူညီသောသော့အချို့ကိုဖယ်ရှားပစ်ရန်သို့မဟုတ်အချို့သောအခြေအနေများအပေါ်အခြေခံပြီးမလိုချင်တဲ့ဒေတာများကိုစစ်ထုတ်ရန်လိုအပ်သည်။ PHP ဖွံ့ဖြိုးတိုးတက်မှုထိရောက်မှုကိုအရှိန်အဟုန်မြှင့်တင်ပေးသည့်အခါ array_diff_key () function ကိုမည်သို့လိမ်မ်ကိုဖန်တီးနိုင်မည်ကိုပြသနိုင်သည့်ဥပမာတစ်ခုဖြစ်သည်။

array_Data နှင့် Newsa new_data နှစ်ခုကိုနှိုင်းယှဉ်ရန်လိုသည်ဆိုပါစို့။ New_data တွင်အမည်များမရှိသေးသော User_DATA ရှိဒြပ်စင်များကိုရှာဖွေရန်လိုအပ်သည်ဆိုပါစို့။

နမူနာကုဒ်:

 <?php
$user_data = [
    'id' => 1,
    'name' => 'John Doe',
    'email' => 'john.doe@example.com',
    'age' => 25,
    'address' => '123 Main St',
];

$new_data = [
    'name' => 'John Doe',
    'email' => 'john.doe@m66.net',
    'address' => '123 Main St',
];

// အသုံးပြု array_diff_key နှစ်ခု array များအတွက်သော့နှိုင်းis
$differences = array_diff_key($user_data, $new_data);

// ရလဒ်ရလဒ်
echo "<pre>";
print_r($differences);
echo "</pre>";
?>

ကုဒ်ရှင်းပြချက်:

  1. ကျွန်ုပ်တို့သည် array နှစ်ခုကိုသတ်မှတ်သည်။ $ user_Data နှင့် $ New_Data ။ ၎င်းတို့အနက် $ user_DATA_DATA သည် သုံးစွဲ သူ၏အချက်အလက်အားလုံးကိုသိုလှောင်ထားသည်။

  2. array_diff_key ($ user_data, $ user_data, $ usew_data) ကို အသုံးပြု. ဤအခင်းအကျင်းကို အသုံးပြု. ဒေါ်လာ user_data တွင်ရှိသော array_data အသစ်တစ်ခုကိုပြန်လည်ရောက်ရှိစေသည့် ဒေါ်လာကွဲပြားခြားနားမှု အသစ်များကိုပြန်လည်နှိုင်းယှဉ်ပါ။

ရလဒ်ရလဒ် -

 Array
(
    [id] => 1
    [age] => 25
)

output ရလဒ်များ အရဒေါ်လာကွဲပြားခြားနားမှု ခင်းကျင်းမှုသည်သော့ချက်တန်ဖိုးအတွဲနှစ်ခုပါ 0 င် သည်

3 ။ နောက်ထပ် optimization: dynamically ကို dynamically ယုတ္တိဗေဒထုတ်ပေး

တခါတရံတွင်ကျွန်ုပ်တို့သည်ကွဲပြားခြားနားသောအခြေအနေများအပေါ် အခြေခံ. ဆန့်ကျင်ဘက်ယုတ္တိဗေဒကိုပိုမိုထုတ်လွှင့်ရန်လိုအပ်သည်။ ဤကိစ္စတွင် array_diff_ey () သည် အပြောင်းအလဲများကိုအမျိုးမျိုးသောပြောင်းလဲမှုများအားတုံ့ပြန်ရန်ကျွန်ုပ်တို့အားကူညီနိုင်သည်။ ဥပမာအားဖြင့်, ပြင်ပအခြေအနေများအရကွဲပြားသောဒေတာရင်းမြစ်များကိုရွေးချယ်ပါသို့မဟုတ်နှိုင်းယှဉ်ရန်ခင်းကျင်းရန်ခင်းကျင်းမှုကိုရွေးချယ်ပါ။

dynamically ထုတ်လုပ်ထားသောနှိုင်းယှဉ်ကုဒ်ဥပမာ:

အီးမေးလ် အကွက်များကိုနှိုင်းယှဉ်ရန်လိုမလိုဆုံးဖြတ်ရန်ကျွန်ုပ်တို့တွင်ပြင်ပ variable ကို $ fiquimpare_email ရှိသည်ဆိုပါစို့။

 <?php
$should_compare_email = true; // သင်ဤတန်ဖိုးကိုအမှန်တကယ်အခြေအနေအရပြောင်းလဲနိုင်သည်

$user_data = [
    'id' => 1,
    'name' => 'John Doe',
    'email' => 'john.doe@example.com',
    'age' => 25,
    'address' => '123 Main St',
];

$new_data = [
    'name' => 'John Doe',
    'email' => 'john.doe@m66.net',
    'address' => '123 Main St',
];

if ($should_compare_email) {
    $differences = array_diff_key($user_data, $new_data);
} else {
    // နှိုင်းယှဉ်ခြင်းမရှိပါ email လယ်ကွင်း
    $user_data_no_email = $user_data;
    unset($user_data_no_email['email']);
    $new_data_no_email = $new_data;
    unset($new_data_no_email['email']);
    $differences = array_diff_key($user_data_no_email, $new_data_no_email);
}

echo "<pre>";
print_r($differences);
echo "</pre>";
?>

ကုဒ်ရှင်းပြချက်:

  1. ကျွန်ုပ်တို့သည် အီးမေးလ်ကို နှိုင်းယှဉ်မှုဖြစ်စဉ်တွင် အီးမေးလ် နယ်ပယ်ကိုထည့်သွင်းစဉ်းစားရမည်,

  2. အီးမေးလ်များကို နှိုင်းယှဉ်ရန်လိုအပ်ပါကနှိုင်းယှဉ်မှုအတွက် array_diff_ey () ကို တိုက်ရိုက်သုံးပါ။ ကျွန်ုပ်တို့သည် အီးမေးလ်များကို နှိုင်းယှဉ်ရန်မလိုအပ်ပါက UNSET () မှတစ်ဆင့် array နှစ်ခုရှိ အီးမေးလ်များ ကို ဦး စွာဖယ်ရှားပြီး၎င်းတို့ကိုနှိုင်းယှဉ်ပါ။

output ရလဒ် ( $ fill _compare_email_email = မှန် လျှင်):

 Array
(
    [id] => 1
    [age] => 25
)

output ရလဒ် ( $ friend_compare_email = မှားယွင်းမှု ) လျှင်):

 Array
(
    [id] => 1
    [age] => 25
)

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

PHP ၏ Array_Diff_Key () function ကိုအသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ကွဲပြားခြားနားမှုများကိုအဓိကအကြောင်းရင်းနှစ်ခုတွင်ကွဲပြားစွာနှိုင်းယှဉ်နိုင်သည်။ နှိုင်းယှဉ်မှုယုတ္တိဗေဒကိုထုတ်ပေးသည့်အခါယုတ္တိဗေဒဆိုင်ရာစည်းမျဉ်းစည်းကမ်းများနှင့် array_diff_ey () သည် code ကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်စေပြီးဖွံ့ဖြိုးတိုးတက်မှုထိရောက်မှုကိုတိုးတက်စေနိုင်သည်။ ကွဲပြားခြားနားသောအခြေအနေများအပေါ် အခြေခံ. အကယ်. ၎င်းသည် static arrays နှစ်ခုသို့မဟုတ် dynamically နှိုင်းယှဉ်ခြင်းယုတ္တိဗေဒကိုတိုက်ရိုက်နှိုင်းယှဉ်ခြင်းရှိမရှိ array_diff_ey () သည်အလွန်အသုံး 0 င်သောကိရိယာတစ်ခုဖြစ်သည်။

array_diff_key () ကို အသုံးပြု. ပြင်ဆင်ခြင်းအားဖြင့်သင်သည်ခင်းကျင်းနှိုင်းယှဉ်လုပ်ငန်းများကိုပိုမိုထိရောက်စွာကိုင်တွယ်နိုင်သည်,