PHP တွင် array_diff_UAASTOUCE () function ကိုအသုံးပြုသည်။ array နှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ရန်နှင့်သော့များကိုနှိုင်းယှဉ်ရန်စည်းမျဉ်းများကိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။ ဤလုပ်ဆောင်ချက်၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_diff_uassoc(array $array1, array $array2, callable $key_compare_func): array
$ array1 ပထမ ဦး ဆုံးခင်းကျင်းဖြစ်ပါတယ်။
$ array2 သည်ဒုတိယခင်းကျင်းမှုဖြစ်ပြီး $ array1 နှင့်နှိုင်းယှဉ်ထားသည်။
$ key_compare_func သည်သော့ချက်နှစ်ခုနှင့်နှိုင်းယှဉ်သော callback function ကိုဖြစ်သည်။
array_diff_Usassoc () function ကို function သည် ဒေါ်လာ array (1) တွင်တည်ရှိသည့်အချက်များပါ 0 င်သောနေရာများပါ 0 င်သည်။ သို့သော် ဒေါ်လာ array2 တွင်မတည်ရှိပါ။ ၎င်း၏နှိုင်းယှဉ်မှုသည်သော့ချက်အမည်ပေါ်တွင်အခြေခံသည် (စိတ်ကြိုက်ခေါ်ဆိုမှု function ကို အသုံးပြု. ) ။ သို့သော်သင်မေးခွန်းအချို့ကိုသင်ကြုံတွေ့ရနိုင်သည်။ Key_CoPare_Func ၏ပြန်လည်နေရာချထားသည့်တန်ဖိုးသည် 0 , -1 or 1 သည်မည်သည့်အကျိုးသက်ရောက်မှုကိုလုပ်ဆောင်နိုင်မည်နည်း။
Key_compare_Func Backback function 0 င် ပြန်ရောက်သည့်အခါ၎င်းသည်သော့နှစ်ခုသည်တန်းတူဖြစ်သည်ဟုဆိုလိုသည်။ Array_diff_Usoc () function တွင်, ၎င်းသည်အဓိကသော့ချက်ဖြစ်သော $ array1 နှင့် $ array2 တွင်လက်ရှိသော့ချက်တန်ဖိုးအတွဲ (2) ခုသည်အဓိကအမည်များနှင့်မတူပါ။ ထို့ကြောင့်ဤသော့ချက်တန်ဖိုးအတွဲများကိုခြားနားချက်၏အစိတ်အပိုင်းတစ်ခုအဖြစ်သတ်မှတ်ခြင်းမရှိပါ။ ပြန်လည်ရရှိထားသောရလဒ်ခင်းကျင်းတွင်မပေါ်ပါ။
ဥပမာ -
$array1 = [
'apple' => 'red',
'banana' => 'yellow'
];
$array2 = [
'apple' => 'green',
'banana' => 'yellow'
];
function compare_keys($key1, $key2) {
return 0; // နှစ်ခုသော့အတူတူဖြစ်ကြောင်းဖော်ပြသည်
}
$result = array_diff_uassoc($array1, $array2, 'compare_keys');
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[apple] => red
)
ရှင်းပြချက် - compare_keys ()) 0 င် 0 င ် ပြန်ရောက် သည် ။
Key_CoPare_Func Returns -11 ဆိုသောအခါ၎င်းသည် ဒေါ်လာ array1 ရှိသော့သည် ဒေါ်လာ array2 တွင်သော့ချက်ထက်သေးငယ်သည်ဟုဆိုလိုသည်။ ဤကိစ္စတွင် Array_Diff_UAAssoC () သည် ဒေါ်လာ array1 တွင်လက်ရှိသော့ချက်တန်ဖိုးတွဲ () ကိုသိမ်းဆည်းထားသင့်ကြောင်းစဉ်းစားသင့်သည်။ ထို့ကြောင့်ဤသော့ချက်တန်ဖိုးအတွဲများသည်ရလဒ်ခင်းကျင်းတွင်ပေါ်လာသည်။
ဥပမာ -
$array1 = [
'apple' => 'red',
'banana' => 'yellow'
];
$array2 = [
'apple' => 'green',
'cherry' => 'red'
];
function compare_keys($key1, $key2) {
return -1; // ညှစ် key1 ထက်နည်းသော key2
}
$result = array_diff_uassoc($array1, $array2, 'compare_keys');
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[banana] => yellow
)
ရှင်းလင်းချက် - compare_keys () ကို ပြန်ရောက် ချိန် မှ စ. Apple သည် သော့ချက် ချယ်ရီ ထက်သေးငယ်သည် ။
key_compare_func ပြန်လာသည့်အခါ 1 array1 ရှိသော့သည် ဒေါ်လာ array2 တွင်သော့ချက်ထက်သာလွန်သည်ဟုဆိုလိုသည်။ ဤအချက်မှာ array_diff_UAAssoc () သည် လက်ရှိသော့ချက်တန်ဖိုးအတွဲကို ဒေါ်လာ array1 တွင်ထည့်သွင်းစဉ်းစားသည်။
ဥပမာ -
$array1 = [
'apple' => 'red',
'banana' => 'yellow'
];
$array2 = [
'apple' => 'green',
'banana' => 'yellow'
];
function compare_keys($key1, $key2) {
return 1; // ညှစ် key1 ထက်သာခြင်း key2
}
$result = array_diff_uassoc($array1, $array2, 'compare_keys');
print_r($result);
ထုတ်လုပ်မှု -
Array
(
[apple] => red
)
ရှင်းလင်းချက် - ဒီဥပမာမှာ compare_keys () ပြန်လာပြီ ဆိုရင် Apple ဟာ အဓိက ငှက်ပျောသီး ထက်ပိုတယ်ဆိုတာကိုညွှန်ပြတယ်။ ထို့ကြောင့်, သော့ချက်တန်ဖိုးကို Apple ကို ဒေါ်လာ array 1 တွင်မတွေ့ရှိနိုင်ပါ။ ၎င်းသည် Git Pair (2) နှင့်အတူတူပင်ဖြစ်သည်။
array_diff_Uassoc () ကို အသုံးပြုတဲ့အခါ Return တန်ဖိုးများ 0 , -1 နှင့် callback function ၏ 1 သည် သော့ချက်များကိုတိုက်ရိုက်အကျိုးသက်ရောက်လိမ့်မည်။
REW 0 : ဆိုလိုသည်မှာသော့များသည်ညီမျှခြင်းနှင့်လက်ရှိသော့ချက်တန်ဖိုးအတွဲကိုခြားနားချက်မစဉ်းစားပါ။
Return -1 : $ array1 ရှိသော့သည် ဒေါ်လာ array2 တွင်သော့ချက်ထက်သေးငယ်ပြီးလက်ရှိသော့ချက်တန်ဖိုးအတွဲသည်ရလဒ်ခင်းကျင်းမှုတွင်ပါ 0 င်လိမ့်မည်။
ReXt 1 : $ array1 ရှိသော့သည် ဒေါ်လာ array2 တွင်သော့ချက်ထက်ကြီးပြီးလက်ရှိသော့ချက်တန်ဖိုးအတွဲကိုဖယ်ထုတ်ထားလိမ့်မည်။
calnback function ကိုနှိုင်းယှဉ်ခြင်း၏ယုတ္တိဗေဒကိုညှိခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်နှိုင်းယှဉ်စည်းမျဉ်းများကိုနှိုင်းယှဉ်နိုင်သည့်စည်းမျဉ်းစည်းကမ်းများကိုနှိုင်းယှဉ်ကြည့်ရှုနိုင်သည်။