လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_diff_assoc () နှင့် array_filter () differential ပြီးနောက်သန့်ရှင်းဖို့

array_diff_assoc () နှင့် array_filter () differential ပြီးနောက်သန့်ရှင်းဖို့

M66 2025-06-06

ဒေတာသန့်ရှင်းရေးပြုလုပ်ခြင်းသည်ဒေတာခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ပြုပြင်ခြင်း၏အရေးကြီးသောအပိုင်းဖြစ်ပြီး၎င်းအချက်အလက်များတွင်ရှေ့နောက်မညီမှုများ, အမှားအယွင်းများသို့မဟုတ်မိတ္တူပွားများကိုဖယ်ရှားရန်ရည်ရွယ်သည်။ PHP တွင်အချက်အလက်သန့်ရှင်းရေးကိုအကောင်အထည်ဖော်ရန်ကျွန်ုပ်တို့အားကူညီနိုင်သည့်လုပ်ဆောင်ချက်များစွာရှိသည်။ ယနေ့ကျွန်ုပ်တို့သည် array_diff_soc () နှင့် array_filter () နှင့် array_filter ()) ကိုအာရုံစိုက်မည်။

1 ။ array_diff_assoc () function ကို

Array_Diff_AssoC () function ကိုနှစ်ခုထက်ပိုသော array များအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ array_diff () , array_diff_assoc () ကိုမတူဘဲ array ရှိသော့ချက်အမည်များကိုထည့်သွင်းစဉ်းစားသည် (အဓိကအမည်များသည်နှိုင်းယှဉ်လျှင်ပါ 0 င်မည်) ။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

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

နမူနာ

ငါတို့မှာ array နှစ်ခုရှိတယ်ဆိုပါစို့။ ပထမခင်းကျင်းမှာရှိတဲ့ array မှာရှိနေတဲ့ဒြပ်စင်တွေကိုရှာချင်ပေမယ့်ဒုတိယခင်းကျင်းမှာမဟုတ်ဘူး။

 $array1 = [
    "a" => 1,
    "b" => 2,
    "c" => 3
];

$array2 = [
    "a" => 1,
    "b" => 3,
    "d" => 4
];

$result = array_diff_assoc($array1, $array2);
print_r($result);

ရလဒ်ရလဒ် -

 Array
(
    [b] => 2
    [c] => 3
)

ဤဥပမာတွင် array_diff_assoc () သည် Arrays $ array1 နှင့် $ array2 ကိုနှိုင်းယှဉ်ပြီး elements များကိုကွဲပြားခြားနားသောအမည်များနှင့်တန်ဖိုးများဖြင့်ပြန်ပို့သည်။ ဤဥပမာတွင်ဒြပ်စင်များ ဖြစ်သော B "=> 2 နှင့် " C "= >> 3 >> 3 array 1 array 1 တွင် array array 2 တွင်မပါ 0 င်ပါ။

ဒေတာသန့်ရှင်းရေး application များ

ဒေတာအချို့ကိုသန့်ရှင်းရေးလုပ်ရန်လိုအပ်သည့်အခါ array_diff_assoc () သည် ဒေတာအရင်းအမြစ်များတွင်ရှိသည့်အချက်အလက်အချို့ကိုရှာဖွေရန်အထောက်အကူပြုနိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့တွင်အချက်အလက်အရင်းအမြစ်နှစ်ခုရှိသည်ဟုဆိုပါစို့ array1 သည် ကျွန်ုပ်တို့၏လက်ရှိဒေတာဘေ့စ်မှတ်တမ်းကိုကိုယ်စားပြုသည်။ ကျွန်ုပ်တို့သည်လက်ရှိဒေတာနှင့်မကိုက်ညီသောမှတ်တမ်းများကိုရှာဖွေရန် array_diff_assoc () ကိုသုံးနိုင်သည်။

2 ။ array_filter () function ကို

အဆိုပါ array_filter () function ကိုသတ်မှတ်ထားသောအခြေအနေများနှင့်ကိုက်ညီသော array နှင့်ပြန်ပို့သောဒြပ်စင်များတွင် filter များအတွက်အသုံးပြုသည်။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 array_filter(array $array, callable $callback = null, int $mode = 0): array
  • $ array : filter သို့ array ။

  • $ callback : element တစ်ခုစီသည်အခြေအနေနှင့်ကိုက်ညီမှုရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုသော callback function ကိုအသုံးပြုသည်။ အကယ်. callback function ကို ပြန်လည်ရောက်ရှိ ပါက Element ကိုရလဒ်ခင်းကျင်းမှုတွင်ထိန်းသိမ်းထားလိမ့်မည်။

  • $ Mode : Array တွင်အဓိကအမည်များကိုမည်သို့ကိုင်တွယ်ရမည်ကိုဆုံးဖြတ်သည်။ ပုံသေတန်ဖိုးသည် 0 ဖြစ်သည်။ ဆိုလိုသည်မှာသော့ချက်အမည်မပြောင်းလဲဟုဆိုလိုသည်။

နမူနာ

ကျွန်ုပ်တို့တွင်နံပါတ်များစွာဖြင့်ခင်းကျင်းမှုတစ်ခုရှိပြီး၎င်းကိုကျွန်ုပ်တို့မှသုညတန်ဖိုးကိုဖယ်ရှားလိုကြသည်ဆိုပါစို့။

 $array = [1, 0, 2, 3, 0, 4];

$result = array_filter($array, function($value) {
    return $value !== 0;
});

print_r($result);

ရလဒ်ရလဒ် -

 Array
(
    [0] => 1
    [2] => 2
    [3] => 3
    [5] => 4
)

ဤဥပမာတွင် array_filter () သည် element အားလုံးကို array မှ 0 ကို 0 ၏တန်ဖိုးနှင့်အတူဖယ်ရှားပေးသည်။ ရလဒ်များသည်တန်ဖိုးမရှိတော့ပါ။

ဒေတာသန့်ရှင်းရေး application များ

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

3 ။ array_diff_assoc () နှင့် array_filter () အကြားကွဲပြားခြားနားမှု ()

Array_diff_assoc () နှင့် array_filter () နှင့် array_filter () ကိုနှစ်ခုစလုံးတွင်အသုံးပြုသည်။ နှစ် ဦး စလုံးသည် array လုပ်ခြင်းအတွက်အသုံးပြုသည်။

  1. အလုပ်လုပ်တဲ့ကွဲပြားခြားနားမှုများ

    • array_diff_assoc () ကိုအဓိကအားဖြင့်နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသော arrays များကိုနှိုင်းယှဉ်ရန်နှင့်နှိုင်းယှဉ်ရန်အဓိကအားဖြင့်၎င်းတို့၏ကွဲပြားခြားနားမှုများ,

    • array_filter () ကို သတ်မှတ်ထားသောအခြေအနေများအပေါ် အခြေခံ. element များကို array တစ်ခုတွင် filter လုပ်ရန်အသုံးပြုသည်။ အခြေအနေများနှင့်မကိုက်ညီသောပစ္စည်းများကိုဖျက်ပစ်သည်။

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

    • array_diff_assoc () သည်ကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ခြင်းနှင့်ရှာဖွေခြင်းကိုနှိုင်းယှဉ်ခြင်းအတွက်ပိုမိုသင့်တော်သည်။

    • Array_Filter () သည်ဒေတာစီစစ်ခြင်းအတွက်ပိုမိုသင့်တော်သည်။

  3. callback function ကို :

    • array_filter () သည် စီရန်စည်းမျဉ်းများကို filtering rules များကိုသတ်မှတ်ရန်အတွက် 0 င်ရောက်လာသော callback functack ကိုခွင့်ပြုသည်။ array_diff_assoc () သည် callback function များကိုမထောက်ပံ့ပါ။

  4. Array key names ၏ processing :

    • Array_diff_assoC () သည် ခင်းကျင်းမှု၏သော့နှင့်သက်ဆိုင်ရာတန်ဖိုးကိုထည့်သွင်းစဉ်းစားလိမ့်မည်။

    • array_filter () မူရင်းခင်းကျင်းမှု၏သော့ကိုမူလစာမျက်နှာအမည်ကိုပုံမှန်ရယူရမည်။ သို့သော် $ mode parameter သည်သော့ချက်အမည်ကိုပြန်လည်တည်ဆောက်ရန်ရှိမရှိကိုထိန်းချုပ်ရန်အသုံးပြုနိုင်သည်။

ဥပမာနှိုင်းယှဉ်ခြင်း

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

 $array1 = [
    "a" => 1,
    "b" => 0,
    "c" => 2
];

$array2 = [
    "a" => 1,
    "b" => 0,
    "d" => 3
];

// အသုံးပြု array_diff_assoc() နှစ်ခု array နှိုင်းယှဉ်,ကိုက်ညီမှုဒြပ်စင်ကိုရှာပါ
$diff = array_diff_assoc($array1, $array2);
print_r($diff);

// အသုံးပြု array_filter() filter ကိုတန်ဖိုးသည် 0 ဒြပ်
$filtered = array_filter($array1, function($value) {
    return $value !== 0;
});
print_r($filtered);

ရလဒ်ရလဒ် -

 Array
(
    [b] => 0
    [c] => 2
)

Array
(
    [a] => 1
    [c] => 2
)

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

array_diff_assoc () နှင့် array_filter () ကို အသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အချက်အလက်များကိုထိထိရောက်ရောက်သန့်ရှင်းရေးပြုလုပ်နိုင်သည်။ array_diff_assoc () ကွဲပြားခြားနားမှုများအကြားကွဲပြားခြားနားမှုများအကြားကွဲပြားခြားနားမှုများနှင့်နှိုင်းယှဉ်ခြင်းအတွက်ပိုမိုသင့်တော်သည်။ array_filter () သည်အချို့သောအခြေအနေများနှင့်မမှန်ကန်သောပစ္စည်းများဖယ်ရှားခြင်းကဲ့သို့သောအခြေအနေများနှင့်မကိုက်ညီသောအချက်အလက်များကို filter လုပ်ရန်သင့်တော်သည်။

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

ဆက်စပ်အကြောင်းအရာ