နေ့စဉ် PHP ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည် arrays များအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ကြည့်ရှုရန်လိုအပ်သည့်အခြေအနေများနှင့်မကြာခဏကြုံတွေ့ရလေ့ရှိသည်။ MultidDimenDimiaal arrays အတွက် array_diff_ukey () သည် ထိပ်တန်းသော့များ (ပထမ ဦး ဆုံးအဆင့်သော့များ) တွင်ကွဲပြားခြားနားမှုများကိုသာဂရုပြုပြီးသူတို့၏တန်ဖိုးများကိုမနှိုင်းယှဉ်ပါကအလွန်လက်တွေ့ကျသောကိရိယာတစ်ခုဖြစ်သည်။
ဤဆောင်းပါးသည် multidimensional array နှစ်ခု၏ထိပ်တန်းအဆင့်သော့များကိုနှိုင်းယှဉ်ရန်နှင့်ကွဲပြားခြားနားသောအစိတ်အပိုင်းများကိုရှာဖွေရန် Array_Diff_ukey () ကို မည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးကရှင်းပြပါမည်။
array_diff_ukey () ကိုအသုံးပြုသူ၏အမည်များကိုအသုံးပြုသူ၏အမည်များအပေါ် အခြေခံ. အဓိကအကြောင်းရင်းများကို အသုံးပြု. အဓိကအမည်များကိုမိတ္တူပွားပါ။
သဒ္ဒါ:
array_diff_ukey(array $array1, array $array2, callable $key_compare_func): array
$ array1 : နှိုင်းယှဉ်ခံရဖို့ array ။
$ array2 : array ပထမ ဦး ဆုံးခင်းကျင်းနှင့်နှိုင်းယှဉ်ဖို့အသုံးပြုခဲ့သည်။
$ key_compare_funct : အသုံးပြုသူသတ်မှတ်ထားသောသော့နှိုင်းယှဉ်ခြင်း function ကို။
သင့်တွင်မတူညီသော configuration sets နှစ်ခုကိုကိုယ်စားပြုသော Multidimensional Array နှစ်ခုရှိသည်ဆိုပါစို့။ သင်သည်အဓိကပြင်ဆင်မှုတွင်တည်ရှိသည့်ထိပ်တန်းသော့ (ပထမအဆင့်သော့များ) ကိုသင်ရှာဖွေလိုသော်လည်းနှိုင်းယှဉ်ပြင်ဆင်ခြင်းတွင်မပါ 0 င်ပါ။
$configMain = [
'database' => [
'host' => 'localhost',
'port' => 3306
],
'cache' => [
'enabled' => true
],
'api' => [
'endpoint' => 'https://m66.net/api'
]
];
$configCompare = [
'database' => [
'host' => '127.0.0.1',
'port' => 3306
],
'cache' => [
'enabled' => false
]
];
$ confignpare တွင်မည်သည့်ထိပ်တန်းအဆင့်သော့ကိုမပေါ်ပါ (အထက်ပါဥပမာတွင် API key ကဲ့သို့) သည် $ configocpare တွင်မပေါ်ပါ။
<?php
function compareKeys($a, $b) {
if ($a === $b) {
return 0;
}
return ($a > $b) ? 1 : -1;
}
$configMain = [
'database' => [
'host' => 'localhost',
'port' => 3306
],
'cache' => [
'enabled' => true
],
'api' => [
'endpoint' => 'https://m66.net/api'
]
];
$configCompare = [
'database' => [
'host' => '127.0.0.1',
'port' => 3306
],
'cache' => [
'enabled' => false
]
];
$diffKeys = array_diff_ukey($configMain, $configCompare, 'compareKeys');
print_r($diffKeys);
Array
(
[api] => Array
(
[endpoint] => https://m66.net/api
)
)
သင်မြင်နိုင်သည့်အတိုင်း array_diff_ukey () သည် $ configmain ရှိထိပ်တန်းထိပ်တန်း API ကို အောင်မြင်စွာရှာဖွေတွေ့ရှိနိုင်သော်လည်း $ configocpare တွင်မပါ 0 င်ပါ။
callback function သည် သော့နှစ်ခုကိုနှိုင်းယှဉ်သော function တစ်ခုဖြစ်ရမည်။ Return Value စည်းမျဉ်းစည်းကမ်းများသည် strcmp () သည် 0 င်ထက်နည်းသည်နှင့်ညီမျှသည်နှင့် 0 ထက်ကြီးသည်။
ဤလုပ်ဆောင်ချက်သည် တန်ဖိုးများကိုသာနှိုင်းယှဉ်ခြင်းမရှိပါ ။
ထိပ်တန်းသော့များအတွက်သာတရားဝင်သည်, သင်အသိုက်ဖွဲ့စည်းပုံများကိုနှိုင်းယှဉ်လိုပါကကိုက်ညီရန် requaryive logic ကိုသုံးပါ။
array_diff_ukey () ကိုအသုံးပြုခြင်းသည် အဓိကဖွဲ့စည်းတည်ဆောက်ပုံဆိုင်ရာကွဲပြားခြားနားမှုများကို သာသက်ဆိုင်သည်။
Configuration ကွဲပြားခြားနားမှုများကိုကိုင်တွယ်ခြင်း, ဖွဲ့စည်းပုံနှိုင်းယှဉ်ခြင်းသို့မဟုတ်ခွင့်ပြုချက်စစ်ဆေးခြင်းကိုလုပ်ဆောင်ခြင်း,
အကယ်. သင်သည်အဓိကတန်ဖိုးအတွဲများအကြားကွဲပြားခြားနားမှုများကိုထပ်မံနှိုင်းယှဉ်လိုပါက array_diff_assoc () သို့မဟုတ်ထုံးစံအတိုင်း recursive function processing ကို အသုံးပြု. စဉ်းစားနိုင်သည်။