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

RARAIF_DIFF () သည်တန်ဖိုးအမျိုးအစားများကိုခွဲခြားသောအခါတင်းကြပ်စွာကိုက်ညီပါသလား။

M66 2025-06-06

နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် array_diff () သည်အလွန်လက်တွေ့ကျကျ PHP built-in function ဖြစ်သည်။ ၎င်းကို Array နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသော array များနှင့်နှိုင်းယှဉ်ရန်, ဤသည် filtering data များကဲ့သို့သောဖြစ်ရပ်များတွင်စာရင်းကွဲပြားခြားနားမှုများစသည်တို့စသည်တို့ကဲ့သို့ဖြစ်ရပ်များတွင်အလွန်အသုံးများသည်။

ဒါကြောင့်မေးခွန်းကတော့ array_diff () တန်ဖိုးတွေကိုနှိုင်းယှဉ်တဲ့အခါမှာတင်းကြပ်တဲ့အမျိုးအစားကိုက်ညီမှုကိုလုပ်ဆောင်နိုင်မှာလား။ တနည်းအားဖြင့်ကွဲပြားခြားနားသောအမျိုးအစားများနှင့်အတူပစ္စည်းများပေမယ့်တူညီသောတန်ဖိုးကိုအတူတူပင်သို့မဟုတ်ကွဲပြားခြားနားစဉ်းစားလိမ့်မည်နည်း

1 ။ array_diff ၏နှိုင်းယှဉ်ယန္တရားတန်ဖိုးထားရေးယန္တရား ()

PHP တွင် array_diff () တွင် "တင်းကြပ်သော" နှိုင်းယှဉ်မှုကိုအသုံးပြုသည်။ ဆိုလိုသည်မှာတန်ဖိုးနှစ်ခုသည်တန်းတူဟုတ်မဟုတ်ဆုံးဖြတ်သောအခါ ၎င်းတို့၏အချက်အလက်အမျိုးအစားများကိုမနှိုင်းယှဉ်ပါ , သို့သော်တန်ဖိုးများသည်တူညီသောရှိမရှိကိုသာအာရုံစိုက်သည်။

ဤနှိုင်းယှဉ်ချက်ကို PHP တွင် "ချောင်နှိုင်းယှဉ်" ဟုခေါ်သည်။ ၎င်းသည် == operator ကို သုံး. == operator ကို အသုံးပြု. စီရင်ချက်နှင့်ဆင်တူသည်။

နမူနာကုဒ်:

 <?php
$array1 = [1, 2, 3, "4"];
$array2 = ["1", 2, 4];

$result = array_diff($array1, $array2);
print_r($result);
?>

ရလဒ်ရလဒ် -

 Array
(
    [2] => 3
    [3] => 4
)

ဒီဥပမာမှာ -

  • 1 (integer) နှင့် "1" (string ကို) ကိုတန်းတူစဉ်းစားပြီး filtered လုပ်နေကြသည်။

  • 3 နှင့် "3" သည် ဒေါ်လာ array2 တွင်မရှိပါ။

  • "4" နှင့် 4 ကိုတန်းတူစဉ်းစားပြီးလည်း filtered နေကြသည်။

နိဂုံး - PHP ၏ Array_diff () သည် တင်းကျပ်သောအမျိုးအစားကိုမလုပ်ဆောင်နိုင်ပါ။

2 ။ တိကျတဲ့အမျိုးအစားနှိုင်းယှဉ်ချင်ရင်ငါဘာလုပ်ရမလဲ။

Although array_diff() itself does not support strict comparison, PHP provides another function array_diff_assoc() , which compares key names in addition to comparing values.

သို့သော်ကျွန်ုပ်တို့သည်တန်ဖိုးများကိုတင်းကြပ်စွာနှိုင်းယှဉ်ခြင်းနှင့် ပတ်သက်. သာဂရုစိုက်ပါကကျွန်ုပ်တို့သည်စိတ်ကြိုက်နှိုင်းယှဉ်ခြင်း function ကိုတင်းကြပ်စွာနှိုင်းယှဉ်နိုင်ရန်အတွက် array_udiff () ကို သုံးနိုင်သည်။

နမူနာကုဒ်:

 <?php
$array1 = [1, 2, 3, "4"];
$array2 = ["1", 2, 4];

$result = array_udiff($array1, $array2, function ($a, $b) {
    if ($a === $b) return 0;
    return ($a > $b) ? 1 : -1;
});

print_r($result);
?>

ရလဒ်ရလဒ် -

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

ဤဥပမာတွင် 1 (int) နှင့် "1" (string) နှင့် "1" (string) ကို ကွဲပြားခြားနားသောတန်ဖိုးများ အဖြစ်သတ်မှတ်သည်, ထို့ကြောင့် 1 ကိုထိန်းသိမ်းထားသည်။ ၎င်းသည်တင်းကျပ်သောအမျိုးအစားနှိုင်းယှဉ်မှု၏ရည်ရွယ်ချက်ကိုရရှိစေသည်။

3 ။ လက်တွေ့ကျတဲ့ဥပမာ - ဒေတာစီစစ်ခြင်းအတွက်

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

 <?php
$uploadedIDs = ["101", "102", "103"];
$existingIDs = [101, 104];

$diff = array_udiff($uploadedIDs, $existingIDs, function ($a, $b) {
    return $a === $b ? 0 : ($a > $b ? 1 : -1);
});

// သင်တ ဦး တည်းတည်ဆောက်ရန်လိုအပ်သည်ဆိုပါစို့ URL ကြွင်းသောအရာကိုပြပါ ID
$url = "https://m66.net/products?ids=" . implode(",", $diff);
echo $url;
?>

output URL:

 https://m66.net/products?ids=101,102,103

အကျဉ်းချုပ်

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

  • အကယ်. သင်သည်တန်ဖိုးအမျိုးအစားကိုတင်းကြပ်စွာကိုက်ညီရန်လိုအပ်ပါကသင် array_udiff () ကို စိတ်ကြိုက်နှိုင်းယှဉ်ခြင်း function ဖြင့်အသုံးပြုနိုင်သည်။

  • အသုံးပြုသူအချက်အလက်များကိုကိုင်တွယ်ဖြေရှင်းခြင်းနှင့် Type-Sensitive Data filtering ကိုကိုင်တွယ်ရာတွင်ယုတ္တိဆိုင်ရာအားနည်းချက်များကိုရှောင်ရှားရန်တင်းကျပ်သောနှိုင်းယှဉ်ချက်များကိုအသုံးပြုရန်အကြံပြုပါသည်။

PHP တွင်ခင်းကျင်းမှု၏အပြုအမူယန္တရားကိုနားလည်ရန်ဤဆောင်းပါးသည်သင့်အတွက်အထောက်အကူပြုလိမ့်မည်ဟုမျှော်လင့်ပါသည်။