လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP တွင် array_diff_UsassoC () function သည် Multidimensional Array ကိုကိုင်တွယ်နိုင်ပါသလား။ Multiens-Dimensional Arrays ၏သော့ချက်တန်ဖိုးခြားနားချက်နှိုင်းယှဉ်မှုကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း။

PHP တွင် array_diff_UsassoC () function သည် Multidimensional Array ကိုကိုင်တွယ်နိုင်ပါသလား။ Multiens-Dimensional Arrays ၏သော့ချက်တန်ဖိုးခြားနားချက်နှိုင်းယှဉ်မှုကိုမည်သို့အကောင်အထည်ဖော်ရမည်နည်း။

M66 2025-06-06

PHP တွင် array_diff_UAAssoC () သည်အဓိကအမည်များနှင့်အဓိကတန်ဖိုးများကိုနှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောနေရာများတွင်ကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ရန်အသုံးပြုသော function တစ်ခုဖြစ်သည်။ ၎င်းသည် Array ၏တန်ဖိုးများကိုနှိုင်းယှဉ်ရုံသာမကအသုံးပြုသူသတ်မှတ်ထားသော callback လုပ်ဆောင်ချက်များကို အခြေခံ. ခင်းကျင်းမှု၏သော့များကိုလည်းနှိုင်းယှဉ်သည်။ single-byensensional arrays နှင့်ဆက်ဆံရာတွင် array_diff_UAAssoc () ကို အသုံးပြုရန်အလွန်ရိုးရှင်းပါသည်။ ဤဆောင်းပါးသည်ဤမေးခွန်းကိုဖြေ ဆို. လက်တွေ့ကျပုံဥပမာတစ်ခုပေးမည်။

array_diff_Uassoc () function ကို၏အခြေခံအသုံးပြုမှု

ပထမ ဦး စွာ array_diff_Usassoc ၏အခြေခံအသုံးပြုမှုကိုသုံးသပ်ကြည့်ကြစို့။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 array_diff_uassoc(array $array1, array $array2, callable $key_compare_func): array

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

  • array1 : နှိုင်းယှဉ်ခံရဖို့ပထမ ဦး ဆုံး array ။

  • Array2 : ပထမ ဦး ဆုံးခင်းကျင်းနှင့်နှိုင်းယှဉ်ခံရဖို့ဒုတိယ array ။

  • key_compare_function - arrys နှစ်ခု၏သော့များကိုနှိုင်းယှဉ်ရန်အသုံးပြုသောအသုံးပြုသူသတ်မှတ်ထားသော callback function ကိုအသုံးပြုသည်။ သော့ချက်နှစ်ခုနှင့်နှိုင်းယှဉ်ခြင်း၏ရလဒ်ကိုကိုယ်စားပြုသည့်ကိန်းဂဏန်းတစ်ခု၏လုပ်ဆောင်မှုကိုပြန်လည်ပေးပို့ရမည်။

Value ကိုပြန်သွားပါ

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

ဥပမာ -

 function compare_keys($key1, $key2) {
    return strcasecmp($key1, $key2);
}

$array1 = [
    'a' => 'apple',
    'b' => 'banana',
    'c' => 'cherry'
];

$array2 = [
    'A' => 'apple',
    'B' => 'banana',
    'd' => 'date'
];

$result = array_diff_uassoc($array1, $array2, 'compare_keys');
print_r($result);

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

 Array
(
    [c] => cherry
)

အပေါ်ကပြထားတဲ့အတိုင်း array_diff_Usassoc () သည် ခင်းကျင်းခြင်း၏သော့များကိုနှိုင်းယှဉ်ကြည့်ပါ။ chandback function ကို compare_keys () အပေါ် အခြေခံ. တူညီသောသော့နှစ်ခုသည်တန်းတူရှိမရှိဆုံးဖြတ်လိမ့်မည်။

Multidimensional Array နှင့်မည်သို့ကိုင်တွယ်ရမည်နည်း။

MultidDadational array များအတွက်ကျွန်ုပ်တို့သည်ထိပ်တန်းသော့များကိုသာမကနှိုင်းယှဉ်ရန်လိုကောင်းလိုပေမည်။ သို့သော်အသိုက်ခင်းထားသည်။ ဤကိစ္စတွင် Array_Diff_UAASTC () ကို Multidimensional Arrays တွင်တိုက်ရိုက်မသုံးနိုင်ပါ။ ဤအခြေအနေကိုကိုင်တွယ်ရန်အပိုအလုပ်အချို့ပြုလုပ်ရန်လိုအပ်သည်။

အကောင်အထည်ဖော်မှုစိတ်ကူးများ:

  1. ဘက်ပေါင်းစုံ multidimensional arrays ကိုပြန်လည်ပြင်ဆင်ခြင်း - Multidimensional Array များသည်အသိုက်တည်ဆောက်ပုံများဖြစ်သောကြောင့်ကျွန်ုပ်တို့ကို array တစ်ခုစီ၏အလွှာတစ်ခုစီကိုပြုပြင်ရန် recursive method များကိုသုံးနိုင်သည်။

  2. Custom Callback function များကိုအသုံးပြုပြီးအဓိကတန်ဖိုးများကိုနှိုင်းယှဉ်ခြင်း - Rearsion လုပ်ခြင်းလုပ်ငန်းစဉ်အတွင်းကျွန်ုပ်တို့တွင်ခင်းကျင်းမှုတစ်ခုစီ၏သော့ချက်တန်ဖိုးခြားနားချက်နှိုင်းယှဉ်မှုအတွက် callback function ကိုသတ်မှတ်နိုင်သည်။

နမူနာကုဒ် - Multidimensional Array များအကြားသော့ချက်ကျသောကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ခြင်း

 function compare_keys($key1, $key2) {
    return strcasecmp($key1, $key2);
}

function recursive_array_diff_uassoc($array1, $array2, $key_compare_func) {
    $result = [];
    
    foreach ($array1 as $key => $value) {
        // လက်ရှိတန်ဖိုးတစ်ခုခင်းကျင်းလျှင်,recursive ခေါ်ဆိုမှု
        if (is_array($value)) {
            $sub_result = recursive_array_diff_uassoc($value, $array2[$key] ?? [], $key_compare_func);
            if (!empty($sub_result)) {
                $result[$key] = $sub_result;
            }
        } else {
            // လက်ရှိတန်ဖိုးကို target ခင်းကျင်းအတွင်းရှိတန်ဖိုးကိုနှိုင်းယှဉ်ပါ
            if (!isset($array2[$key]) || $key_compare_func($key, $key) !== 0) {
                $result[$key] = $value;
            }
        }
    }

    return $result;
}

$array1 = [
    'a' => 'apple',
    'b' => ['ba' => 'banana', 'bb' => 'blueberry'],
    'c' => 'cherry'
];

$array2 = [
    'a' => 'apple',
    'b' => ['ba' => 'banana', 'bb' => 'blackberry'],
    'd' => 'date'
];

$result = recursive_array_diff_uassoc($array1, $array2, 'compare_keys');
print_r($result);

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

 Array
(
    [b] => Array
        (
            [bb] => blueberry
        )
    [c] => cherry
)

ဤဥပမာတွင်ကျွန်ုပ်တို့သည် multidimensional array ကိုပြန်လည်ပြုပြင်ခြင်းနှင့်တစ်ခုချင်းစီအတွက်ခင်းကျင်းမှုအဆင့်တစ်ခုအတွက်သော့ချက်တန်ဖိုးကွဲပြားခြားနားမှုများကိုပေါင်းစပ်။ လုပ်ဆောင်သည်။ Multidimensal Array ကိုနှိုင်းယှဉ်သောအခါကျွန်ုပ်တို့သည်အသိုက်ခင်းထားသော array များကိုသီးခြားစီလုပ်ဆောင်သည်ကိုသတိပြုပါ။

အကျဉ်းချုပ်

array_diff_UAAssoc () function ကို) function ကို value value value multies arrays နှင့်နှိုင်းယှဉ်ခြင်းကတိုက်ရိုက်မထောက်ပံ့ပါ။ Custom Callback လုပ်ဆောင်ချက်များကိုဖြင့်ကျွန်ုပ်တို့သည်အဓိကနှိုင်းယှဉ်ချက်နည်းလမ်းကိုတိကျစွာထိန်းချုပ်နိုင်ပြီးကျွန်ုပ်တို့၏နှိုင်းယှဉ်မှုကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်။ ထိရောက်စေသည်။ အထက်ဖော်ပြပါဥပမာမှတစ်ဆင့်ရှုပ်ထွေးသော Multidimensional Arrays များကိုကိုင်တွယ်ရန် Arraiff_USAAST_UAASTIOR () ကို မည်သို့အသုံးပြုရမည်ကိုရှင်းရှင်းလင်းလင်းမြင်နိုင်သည်။