PHP တွင် array_diff_ukey () function ကို () function သည်သော့နှစ်ခုကို (အစားတန်ဖိုးများထက်တန်ဖိုးများထက်တန်ဖိုးများကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ ဤလုပ်ဆောင်ချက်သည်အထူးသဖြင့်ဆန့်ကျင်သူများစွာကိုကိုင်တွယ်ဖြေရှင်းသည့်အခါအလွန်အသုံးဝင်သောကိရိယာတစ်ခုဖြစ်သည်။ သို့သော် SPS အမျိုးအစားအရာဝတ်ထုများကို array လုပ်ရန်သော့များအဖြစ်အသုံးပြုသောအခါအာရုံစိုက်ရန်အသေးစိတ်အချက်အလက်များရှိသည်။ ထို့နောက်ကျွန်ုပ်တို့သည်ဤအခြေအနေတွင်အာရုံစိုက်ရန်လိုအပ်သည့်နက်ရှိုင်းသောပြ issues နာများကိုလေ့လာပါမည်။
SPS (Standard PHP Library) အမျိုးအစားသည် PHP မှ PHP မှပေးသောအထူးအမျိုးအစားတစ်ခုဖြစ်သည်။ ၎င်းသည် spl typ on rots ords ကဲ့သို့သောသာမန်ဒီဇိုင်းပုံစံများသို့မဟုတ် interfaces များကိုအသုံးပြုသည်။ PHP သည်အဓိကအရာဝတ်ထုများသို့မဟုတ်ကိန်းဂဏန်းများအနေဖြင့်သာမန်အရာဝတ်ထုများသို့မဟုတ်ရိုးရှင်းသော palcar တန်ဖိုးများနှင့်နှိုင်းယှဉ်လျှင်။ ဘာဖြစ်လို့လဲဆိုတော့ဒီ spl pert type အရာဝတ်ထု __tostring () method method method method ကိုပရိုဂရမ်ကိုအခြားတန်ဖိုးများနှင့်နှိုင်းယှဉ်လျှင်အခြား interface နည်းလမ်းကိုအကောင်အထည်ဖော်ခြင်းကြောင့်ဖြစ်သည်။
array_diff_ukey () function ကို၏ရှေ့ပြေးပုံစံသည်အောက်ပါအတိုင်းဖြစ်သည် -
array_diff_ukey(array $array1, array $array2, callable $key_compare_func): array
$ array1 : ပထမ ဦး ဆုံးခင်းကျင်း။
$ array2 : ဒုတိယခင်းကျင်း။
$ key_compare_funct : သော့နှစ်ခုကိုနှိုင်းယှဉ်သော callback function ကို။
ဒီ function က ဒေါ်လာ array1 မှာသော့ထဲမှာသော့ချက်မရှိတာမရှိတဲ့ element တွေပါ 0 င်တဲ့ array အသစ်တစ်ခုကိုပြန်ပေးတယ်။
ပုံမှန်အားဖြင့် PHP သည် array ၏သော့များကိုနှိုင်းယှဉ်ရန် == အော်ပရေတာကိုအသုံးပြုသည်။ Array ၏သော့သည်အရာဝတ်ထုအမျိုးအစားတစ်ခုဖြစ်ပါက PHP သည်အရာဝတ်ထု၏ __TOSTRING () method ကိုအရာဝတ်ထုကိုကြိုးတစ်ချောင်းအဖြစ်ပြောင်းလဲရန်နှင့်၎င်းကိုနှိုင်းယှဉ်ရန်အရာဝတ်ထု၏ __tostring () နည်းလမ်းကိုခေါ်ဆိုလိမ့်မည်။ သို့သော် SPL အမျိုးအစားအရာဝတ္ထုများတွင်နှိုင်းယှဉ်ခြင်းယုတ္တိဗေဒသည်ကွဲပြားခြားနားလိမ့်မည်။
ကျွန်ုပ်တို့တွင် array နှစ်ခုရှိသည်ဆိုပါစို့, Array ၏သော့များသည် file ၏သတင်းအချက်အလက်ကိုကိုယ်စားပြုသော splfileinfo အရာဝတ်ထုများဖြစ်သည်။ ဤပြင်ဆင်မှုများ၏သော့များကိုနှိုင်းယှဉ်ရန် array_diff_ukey () function ကိုအသုံးပြုပါမည်။
<?php
// နမူနာ:အသုံးပြု SPL အရာဝတ်ထုကို Array ခလုတ်အဖြစ်ရိုက်ပါ
$array1 = [
new SplFileInfo("/path/to/file1.txt") => 'File 1',
new SplFileInfo("/path/to/file2.txt") => 'File 2',
];
$array2 = [
new SplFileInfo("/path/to/file3.txt") => 'File 3',
];
// နှိုင်းယှဉ်သော့
$result = array_diff_ukey($array1, $array2, function($key1, $key2) {
return $key1->__toString() === $key2->__toString() ? 0 : 1;
});
print_r($result);
?>
အထက်ပါကုဒ်တွင် splfileinfo အရာဝတ်ထုကိုခင်းကျင်းခြင်း၏သော့ချက်အဖြစ် အသုံးပြု. Array_Diff_ukey () မှတဆင့် arrays နှစ်ခု၏သော့များကိုနှိုင်းယှဉ်ထားသည်။ ဤတွင်ကျွန်ုပ်တို့သည် splfileinfo အရာဝတ်ထုကို __tostring () နည်းလမ်းကိုနှိုင်းယှဉ်ရန်အတွက် string ကို string ကိုပြောင်းလဲစေသည့် callback function key_Compare_CHANT ကို စိတ်ကြိုက်ပြင်ဆင်ထားသည်။
အကယ်. ကျွန်ုပ်တို့သည် Key_Compare_Funcing တွင်နှိုင်းယှဉ်မှုဆိုင်ရာစည်းမျဉ်းစည်းကမ်းများကိုမမှန်ကန်စွာသတ်မှတ်ခြင်းမပြုပါကအထူးသဖြင့်အရာဝတ်ထုများပါ 0 င်သည့်မမျှော်လင့်သောနှိုင်းယှဉ်မှုရလဒ်များကိုဖြစ်ပေါ်စေနိုင်သည်ဟုမှတ်သားသင့်သည်။
အရာဝတ်ထုနှိုင်းယှဉ်မှုနည်းလမ်း - SPS အမျိုးအစားအရာဝတ်ထုများကိုအသုံးပြုသောအခါအရာဝတ္ထုများနှင့်နှိုင်းယှဉ်သည်ကိုသင်ရှင်းရှင်းလင်းလင်းနားလည်ရမည်။ အချို့သော sint အရာဝတ်ထုများသည်နောက်ဆုံးနှိုင်းယှဉ်မှုအပေါ်အကျိုးသက်ရောက်နိုင်သည့် __TOSTRINGRE () သို့မဟုတ်အခြားနှိုင်းယှဉ်မှုနည်းလမ်းများကိုအကောင်အထည်ဖော်နိုင်သည်။ ထို့ကြောင့်, callback function ကိုမှန်ကန်စွာဤအရာဝတ်ထုကိုမှန်ကန်စွာနှိုင်းယှဉ်နိုင်သေချာပါစေ။
စွမ်းဆောင်ရည်ပြ issues နာများ - ရှုပ်ထွေးသောအရာဝတ်ထုများကိုအသုံးပြုခြင်းအားဖြင့် Array ခလုတ်များသည်စွမ်းဆောင်ရည်ကိုသက်ရောက်နိုင်သည်။ ရှုပ်ထွေးသောအရာဝတ်ထုများကိုထိရောက်သောနှိုင်းယှဉ်မှုများလိုအပ်သည့်အခြေအနေများတွင်သော့များအဖြစ်အသုံးပြုခြင်းကိုရှောင်ပါ။
တန်ဖိုးများကိုရည်ညွှန်းခြင်းနှင့်နှိုင်းယှဉ်ခြင်း PHP ရှိအရာဝတ်ထုများကိုရည်ညွှန်းခြင်းနှင့်နှိုင်းယှဉ်ပါကအရာဝတ်ထုနှစ်ခု၏ဂုဏ်သတ္တိများသည်အတူတူပင်ဖြစ်သည်ဟုဆိုလိုသည်။ အရာဝတ်ထု၏တန်ဖိုးများကို အခြေခံ. နှိုင်းယှဉ်ရန်လိုအပ်ပါကသက်ဆိုင်ရာနှိုင်းယှဉ်ခြင်း function ကိုမှန်ကန်စွာအကောင်အထည်ဖော်ရန်သေချာစေပါ။
URL အစားထိုးဥပမာ - အကယ်. သင်သည် array keys များတွင် URLs များပါ 0 င်ပါကသူတို့၏ဒိုမိန်းအမည်ကိုအစားထိုးရန်သတိရပါ။ ဥပမာအားဖြင့်:
$array1 = [
'https://www.example.com/page1' => 'Page 1',
'https://www.example.com/page2' => 'Page 2',
];
// ပြန်လည်နေရာချ URL ဒိုမိန်းအမည်
$array1 = array_map(function($key) {
return str_replace('www.example.com', 'm66.net', $key);
}, $array1);
အထက်ပါကုဒ်တွင် Domain Name ကို www.examebame.com ကိုအစားထိုးရန် M66.net နှင့်အတူ Array Key ကိုအစားထိုးရန် M66.net နှင့်အတူခင်းကျင်းသောနေရာများတွင်အစားထိုးသည်။
PHP ၏ Array_Diff_ukey () function ကိုအသုံးပြုသောအခါခင်းကျင်းသောသော့များသည် spl-type objects များဖြစ်လျှင်ဤအရာဝတ်ထုများ၏နှိုင်းယှဉ်ချက်နည်းလမ်းများနှင့်နှိုင်းယှဉ်ပါကအထူးဂရုပြုသင့်သည်။ အထူးသဖြင့်နှိုင်းယှဉ်ခြင်း function ရှိအ ရာ ဝတ်ထုများမှအရာဝတ်ထုများအကြားနှိုင်းယှဉ်သည့်ယုတ္တိဗေဒကိုမှန်ကန်စွာကိုင်တွယ်ဖြေရှင်းပါ။
အရာဝတ်ထုများ၏အပြုအမူ ကို နားလည်ခြင်း, နှိုင်းယှဉ်ခြင်းလုပ်ဆောင်ချက်များကိုကျိုးကြောင်းဆီလျော်စွာရေးသားခြင်း,