လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_diff_assoc () function ကိုဘယ်လိုသုံးရမလဲ။ အခြေခံ syntax ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်လက်တွေ့ကျတဲ့အသုံးပြုမှုဥပမာများ

array_diff_assoc () function ကိုဘယ်လိုသုံးရမလဲ။ အခြေခံ syntax ခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်လက်တွေ့ကျတဲ့အသုံးပြုမှုဥပမာများ

M66 2025-05-13

PHP မှ array_diff_assoc () function သည်အဓိကအသုံးပြုမှုအတွဲနှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသော inarray များပါ 0 င်သည့် key-value အတွဲများပါ 0 င်သည်။ Array_diff () function ကိုမတူဘဲ array_diff_assoc () သည် ခင်းကျင်း၏သော့ချက်များနှင့်တန်ဖိုးများကိုတစ်ချိန်တည်းနှင့်နှိုင်းယှဉ်လျှင်အလွန်ထိရောက်စေသည်။

အခြေခံ syntax:

 array_diff_assoc(array $array1, array $array2, array ...$arrays): array
  • $ array1 : ဤသည်နှိုင်းယှဉ်ခံရဖို့ပထမ ဦး ဆုံး array ဖြစ်ပါတယ်။

  • $ array2, ... $ arrays : ဤရွေ့ကားနှိုင်းယှဉ်ရန်အသုံးပြုသောအခြား arrays ဖြစ်ကြသည်။ Array_diff_assoC () သည် ပထမခင်းကျင်းမှုကိုနောက်ဆက်တွဲခင်းကျင်းမှုနှင့်နှိုင်းယှဉ်ထားသည်။

Function သည်အခြားခင်းကျင်းမှုတွင်မတွေ့ရှိသောပထမခင်းကျင်းရေး array 1 array1 တွင်သော့ချက်တန်ဖိုးအတွဲများပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်လည်ထည့်သွင်းထားသည်။ array နှစ်ခုအတိအကျကိုက်ညီမှုအတိအကျကိုက်ညီမှုရှိလျှင်၎င်းတို့ကိုရလဒ်မှဖယ်ထုတ်ထားသည်။

ဥပမာ 1 - အခြေခံအသုံးပြုမှု

 <?php
$array1 = [
    'a' => 1,
    'b' => 2,
    'c' => 3
];
$array2 = [
    'a' => 1,
    'b' => 3,
    'c' => 3
];

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

ထုတ်လုပ်မှု -

 Array
(
    [b] => 2
)

အပေါ်ကဥပမာမှာကျွန်တော်တို့မှာ array 1 array1 နဲ့ $ array2 ရှိတယ်။ ကျနော်တို့ array_diff_assoc () ကိုနှိုင်းယှဉ်ဖို့အသုံးပြုတယ်။ ရလဒ်က ဒေါ်လာ array1 တွင် 'B' ၏တန်ဖိုးသည် 2 မှာ 2 ဖြစ်ပြီးဒေါ်လာ၏တန်ဖိုးသည် 3 ဖြစ်သည်။ ထို့ကြောင့် B => 2 ကို ပြန်ပို့ပေးလိမ့်မည်။

ဥပမာ 2: အမျိုးမျိုးသော Arrays နှင့်နှိုင်းယှဉ်ပါ

 <?php
$array1 = [
    'a' => 1,
    'b' => 2,
    'c' => 3
];
$array2 = [
    'a' => 1,
    'b' => 2
];
$array3 = [
    'a' => 1,
    'c' => 3
];

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

ထုတ်လုပ်မှု -

 Array
(
    [b] => 2
)

ဤဥပမာတွင်ကျွန်ုပ်တို့သည် $ array1 သို့ ဒေါ်လာ array2 နှင့်နှိုင်းယှဉ်ရုံသာမက ဒေါ်လာ aray3 ကိုလည်းထည့်ပါ။ 'a' => 1 နှင့် 'c' => 3 သည် အခြား array1 ဖြင့်အခြား array နှစ်ခုနှင့်ကိုက်ညီသည်။ B B '=> 2> 2> 2 သည် ဒေါ်လာ array1 ဖြင့်သာတည်ရှိသည်။

ဥပမာ 3 - URLs နှင့်သက်ဆိုင်သောလက်တွေ့ကျသော applications များ

သင့်တွင် URLs အချို့ကိုလုပ်ဆောင်ရန်လိုအပ်သည့် PHP ပရိုဂရမ်တစ်ခုရှိသည်ဆိုပါစို့။ array_diff_assoc () မှတဆင့်ကွဲပြားခြားနားသောအစိတ်အပိုင်းများကိုရှာဖွေလိုသည်ဆိုပါစို့။ သင်၏လိုအပ်ချက်များကိုဖြည့်ဆည်းရန် M66.NET နှင့် Domain Name ကိုအစားထိုးနိုင်သည်။

 <?php
$urls1 = [
    'home' => 'https://www.example.com/home',
    'about' => 'https://www.example.com/about',
    'contact' => 'https://www.example.com/contact'
];
$urls2 = [
    'home' => 'https://www.m66.net/home',
    'about' => 'https://www.m66.net/about',
    'contact' => 'https://www.m66.net/contact'
];

$urls1 = array_map(function($url) {
    return preg_replace('/https?:\/\/[a-z0-9.-]+\//', 'https://www.m66.net/', $url);
}, $urls1);

$urls2 = array_map(function($url) {
    return preg_replace('/https?:\/\/[a-z0-9.-]+\//', 'https://www.m66.net/', $url);
}, $urls2);

$result = array_diff_assoc($urls1, $urls2);
print_r($result);
?>

ထုတ်လုပ်မှု -

 Array
(
    [home] => https://www.m66.net/home
)

ဤဥပမာတွင် URLS1 နှင့် URLS2 တွင် URLs ဗားရှင်းကွဲပြားသော URLs ဗားရှင်းများပါ 0 ်သည်။ ထို့နောက်ကျွန်ုပ်တို့သည် Array_Diff_AssoC () ကို သုံး. array နှစ်ခုအတွင်းရှိကွဲပြားခြားနားသောအစိတ်အပိုင်းများကိုရှာဖွေရန်အသုံးပြုသည်။ ဤဥပမာတွင် 'home' key ၏ URL သည် arrys နှစ်ခုအတွင်းတန်ဖိုးအမျိုးမျိုးရှိသည်။

အကျဉ်းချုပ်

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

ဆောင်းပါး၏အဆုံး

ဒီဆောင်းပါးကိုဖတ်တဲ့အတွက်ကျေးဇူးတင်ပါတယ် အကယ်. သင်သည် PHP သို့မဟုတ်အခြားပရိုဂရမ်နှင့်သက်ဆိုင်သောမေးခွန်းများအတွက်ပိုမိုစိတ်ဝင်စားပါက ကျေးဇူးပြု. မေးခွန်းများမေးပါ။