လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> စိတ်ကြိုက်နှိုင်းယှဉ်မှု function ကိုဖြတ်သန်းရန်မေ့နေပြီးအမှားတစ်ခုဖြစ်ပေါ်စေသည်

စိတ်ကြိုက်နှိုင်းယှဉ်မှု function ကိုဖြတ်သန်းရန်မေ့နေပြီးအမှားတစ်ခုဖြစ်ပေါ်စေသည်

M66 2025-06-06

PHP တွင် Array_Diff_UAASTORC () သည်အဓိကအသုံးပြုမှုအတွဲနှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသော array များနှင့်နှိုင်းယှဉ်။ ကွဲပြားခြားနားသောကွဲပြားခြားနားမှုများကိုတွေ့မြင်ပြီး Custom-Value နှိုင်းယှဉ်မှုအပေါ် အခြေခံ. ကွဲပြားခြားနားမှုများကိုရှာဖွေတွေ့ရှိသည်။ array_diff_Uassoc () ကို သုံးသောအခါစိတ်ကြိုက်နှိုင်းယှဉ်ခြင်း function ကိုဖြတ်သန်းရန်မေ့သွားလျှင်ကျွန်ုပ်တို့သည်အမှားပြ problem နာကိုကြုံတွေ့ရလိမ့်မည်။

array_diff_Uassoc () function ကိုမိတ်ဆက်ပေးခြင်း

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

 array_diff_uassoc(array $array1, array $array2, callable $value_compare_func): array
  • Array1 : ပထမ ဦး ဆုံးခင်းကျင်း။

  • Array2 : ဒုတိယခင်းကျင်းခြင်း (သို့) ထပ်ဆောင်းခင်းကျင်းမှုများကိုနှိုင်းယှဉ်ခြင်းအတွက်အသုံးပြုသည်။

  • Value_Compare_function : custom နှိုင်းယှဉ်မှု function ကို array တစ်ခုတွင် key-value အတွဲများကိုနှိုင်းယှဉ်ရန်။

Code Page

array_diff_UAASTOUC () ကိုဘယ်လိုအလုပ်လုပ်ရမယ်ဆိုတာပြတဲ့ဥပမာဥပမာတစ်ခုကဒီမှာ -

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

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

// စိတ်ကြိုက်နှိုင်းယှဉ်လုပ်ဆောင်ချက်များ,တန်ဖိုးများကိုနှိုင်းယှဉ်
function compare_values($value1, $value2) {
    return $value1 - $value2;
}

$result = array_diff_uassoc($array1, $array2, 'compare_values');

print_r($result);
?>

ရလဒ်ရလဒ် -

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

အထက်ပါကုဒ်တွင် array_diff_UAAssoc () သည် contros_values ​​function နှင့်အညီသော့ချက်တန်ဖိုးအတွဲများကိုနှစ်ခုအတွင်းနှစ်ခုနှင့်နှိုင်းယှဉ်ထားသည်

စိတ်ကြိုက်နှိုင်းယှဉ်ခြင်းလုပ်ဆောင်ချက်တစ်ခုတွင်သွားရန်မေ့ခြင်းသည်အဘယ်ကြောင့်အမှားတစ်ခုဖြစ်စေသနည်း။

array_diff_Usocc () ကိုခေါ်သည့်အခါစိတ်ကြိုက်နှိုင်းယှဉ်မှု function ကိုဖြတ်သန်းရန်ကျွန်ုပ်တို့မေ့သွားလျှင် PHP သည်အမှားတစ်ခုချလိမ့်မည်။ array_diff_Usassoc () function ၏တတိယမြောက် pareter သည် callback function ကို array element များ၏တန်ဖိုးများကိုနှိုင်းယှဉ်သော callback function ကိုဖြစ်သည်။ အကယ်. ဤ callback function ကိုမဖွင့်ပါက PHP သည်သော့ချက်တန်ဖိုးနှိုင်းယှဉ်မှုများ ပြုလုပ်. မရပါ။

အမှားဥပမာ -

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

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

// 忘记传入စိတ်ကြိုက်နှိုင်းယှဉ်လုပ်ဆောင်ချက်များ
$result = array_diff_uassoc($array1, $array2);

print_r($result);
?>

output အမှား:

 Warning: array_diff_uassoc() expects parameter 3 to be a valid callback in /path/to/script.php on line X

အထက်တွင်ဖော်ပြထားသည့်အတိုင်း PHP သည်တတိယ parameter (စိတ်ကြိုက်နှိုင်းယှဉ်ခြင်း) သည်မှန်ကန်သော callback function တစ်ခုဖြစ်ရမည်ဟုသတိပေးသည်။ ဒီ parameter သည်ကျွန်ုပ်တို့မဖြတ်သန်းပါက PHP သည်အစီအစဉ်ကိုပြတ်တောက်စေပြီးအမှားတစ်ခုဖြစ်ပေါ်စေမည့်ခင်းကျင်းနှိုင်းယှဉ်မှုများနှင့်နှိုင်းယှဉ်နိုင်သည်။

အဖေြ

ဤပြ problem နာအတွက်အဖြေသည်အလွန်ရိုးရှင်းပါသည်, array_diff_UAASTIORC () ဟုခေါ်ဆိုသည့်အခါသာမန်အားဖြင့်နှိုင်းယှဉ်မှု function ကိုအမြဲပေးထားသည်။ ဥပမာအားဖြင့်, အရင်ဥပမာတွင်ကျွန်ုပ်တို့သည်တတိယ parameter သည် controlare_values ​​function ကိုအသုံးပြုသည်။

 $result = array_diff_uassoc($array1, $array2, 'compare_values');

array_diff_Usocassoc () ကိုခေါ်သည့်အခါတိုင်းမှန်ကန်သော callback function ကိုသေချာအောင်လုပ်ပါ။

အကျဉ်းချုပ်

Array_diff_UAAssoc () သည်အားကောင်းသော PHP function တစ်ခုဖြစ်သည်။ သို့သော်ကျွန်ုပ်တို့သည်စိတ်ကြိုက်နှိုင်းယှဉ်မှု function ကိုဖြတ်သန်းရန်မေ့သွားလျှင်အမှားတစ်ခုကြုံတွေ့ရလိမ့်မည်။ ထို့ကြောင့်, ဤအမှားကိုရှောင်ရှားရန်ခိုင်လုံသော callback function ကိုအမြဲတမ်းသေချာအောင်လုပ်ပါ။