ဒေတာထပ်တူပြုခြင်း၏အခြေအနေများအရဒေတာများထပ်တူပြုခြင်းသည်အဆုံးတွင်အချို့သောအချက်အလက်များပျောက်ဆုံးနေခြင်းရှိမရှိခွဲခြားသတ်မှတ်ရန်အချက်အလက်ရင်းမြစ်နှစ်ခုကိုနှိုင်းယှဉ်ရန်လိုအပ်သည်။ PHP ၏ built-in function array_diff () သည် ဤလုပ်ငန်းအမျိုးအစားအတွက်ရိုးရှင်းသောနှင့်ထိရောက်သောဖြေရှင်းနည်းကိုထောက်ပံ့ပေးသည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ပျောက်ဆုံးနေသောဒေတာများကိုခွဲခြားသိမြင်ရန်ဤလုပ်ဆောင်ချက်ကိုမည်သို့အသုံးပြုရမည်ကိုဤဆောင်းပါးတွင်အသေးစိတ်ရှင်းပြပါမည်။
အဓိကဒေတာဘေ့စ်တွင်သိုလှောင်ထားသည့်ဆောင်းပါးမှတ်တမ်းများနှင့်ရှေ့ပြေး cache sermers များသို့မဟုတ်ထပ်တူသိမ်းဆည်းခြင်းဆိုင်ရာပခုံးအချို့ကိုကြိုတင်ပြင်ဆင်မှုဆိုင်ရာအကြောင်းပြချက်များကြောင့်အကြောင်းအရာစီမံခန့်ခွဲမှုစနစ် (CMS) ကိုမြင်ယောင်ကြည့်ပါ။ ဒီ "Missed entries တွေကို" ကိုအလျင်အမြန်ရှာဖွေတွေ့ရှိရန် Polica ၏ပျောက်ဆုံးနေသောအစိတ်အပိုင်းများကိုရှာဖွေရန်အတွက်ဒေတာ id စာရင်းရှိဒေတာ ID စာရင်းတွင်ဒေတာ ID စာရင်းကိုနှိုင်းယှဉ်ရန် array_diff () ကို သုံးနိုင်သည်။
array_diff () သည် PHP ၏ Array လုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ ၎င်း၏ function သည် Arrays မျိုးစုံ၏တန်ဖိုးများနှင့်ပထမခင်းကျင်းမှုတွင်တည်ရှိနေသောတန်ဖိုးများကိုနှိုင်းယှဉ်ရန်ဖြစ်သည်။
array array_diff(array $array1, array ...$arrays);
$ array 1 အတွက်တန်ဖိုးများအားလုံးပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသော်လည်းအခြား arrays တွင်မပါ 0 င်ပါ။
ကျွန်ုပ်တို့သည်မူလဒေတာဘေ့စ်မှဆောင်းပါးများအားလုံး၏ ID များကိုရရှိခဲ့ပြီး Replica ဆာဗာမှလက်ရှိသိမ်းဆည်းထားသောဆောင်းပါးများစာရင်းကိုရရှိခဲ့သည်ဆိုပါစို့။
<?php
// အဓိကဒေတာဘေ့စ်မှရရှိသောဆောင်းပါးများအားလုံးကိုတုပပါID
$mainDbIds = [101, 102, 103, 104, 105, 106];
// ပုံတူဆာဗာများမှရရှိသောဆောင်းပါးများကိုတုပပါID
$replicaDbIds = [101, 102, 104, 106];
// အသုံးပြု array_diff မူလတန်းဒေတာဘေ့စ်တွင်ပျောက်ဆုံးနေသည်ကိုရှာဖွေပါID
$missingIds = array_diff($mainDbIds, $replicaDbIds);
if (!empty($missingIds)) {
echo "နောက်ဆောင်းပါးသည်ပုံတူဆာဗာမှပျောက်ဆုံးနေသည်ID:\n";
print_r($missingIds);
} else {
echo "ပုံတူဆာဗာဒေတာပြီးပြည့်စုံသည်,မပျောက်ပါ。\n";
}
?>
နောက်ဆောင်းပါးသည်ပုံတူဆာဗာမှပျောက်ဆုံးနေသည်ID:
Array
(
[2] => 103
[4] => 105
)
သင်မြင်နိုင်သည့်အတိုင်းမိတ္တူတွင်ပျောက်ဆုံးနေသည်မှာ IDs 103 နှင့် 105 ပါသောဆောင်းပါးများဖြစ်သည်။
အကယ်. သင်သည်ဤပျောက်သွားသည့်ဆောင်းပါးအကြောင်းအရာများကိုထပ်မံရှာဖွေလိုပါက Jump Link ကိုတည်ဆောက်ခြင်းဖြင့်အဓိကဒေတာဘေ့စ်နှင့်သက်ဆိုင်သောဆောင်းပါးစာမျက်နှာကိုသင်ဝင်ရောက်ကြည့်ရှုနိုင်သည်။ ဥပမာအားဖြင့်:
foreach ($missingIds as $id) {
echo "ဆောင်းပါးကိုကြည့်ပါ: https://m66.net/article.php?id=" . $id . "\n";
}
ဆောင်းပါးကိုကြည့်ပါ: https://m66.net/article.php?id=103
ဆောင်းပါးကိုကြည့်ပါ: https://m66.net/article.php?id=105
ပျောက်ဆုံးနေသောအကြောင်းအရာကိုလျင်မြန်စွာတစ်ပြိုင်တည်းချိန်ကိုက်ရန်ဤအရာသည်လျင်မြန်စွာနေရာချထားရန်သို့မဟုတ်အလိုအလျောက်တစ်ပြိုင်တည်းချိန်ကိုက်ရန်ခွင့်ပြုသည်။
array_diff () သည် တန်ဖိုးထားသောနှိုင်းယှဉ်ချက် ဖြစ်ပြီးအဓိကအမည်များကိုမနှိုင်းယှဉ်ပါ။
Array တန်ဖိုးသည်အရာဝတ်ထုတစ်ခုသို့မဟုတ် multidimensimensional array တစ်ခုဖြစ်ပါကပိုမိုရှုပ်ထွေးသောနည်းလမ်းများကိုသုံးပါ (ဥပမာ recursive processing or array_udiff (array_udiff) စိတ်ကြိုက်နှိုင်းယှဉ်ခြင်း) ကိုအသုံးပြုပါ။
ကျေးဇူးပြု. ဒေတာအမျိုးအစားများကိုအသုံးပြုသောအခါ၎င်းတို့ကိုတသမတ်တည်းဖြစ်ကြောင်းသေချာပါစေ။ ဥပမာအားဖြင့်, ကိန်းနှင့် strings အမျိုးအစားများကို ရောနှော ခြင်းက Misjudgment ကိုဖြစ်စေနိုင်သည်။
နေ့စဉ်ဒေတာထပ်တူပြုခြင်းနှင့်ရှေ့နောက်ညီညွတ်မှုဆိုင်ရာစစ်ဆေးခြင်းလုပ်ငန်းစဉ်တွင် Array_diff () သည်အလွန်လက်တွေ့ကျသောကိရိယာတစ်ခုဖြစ်သည်။ ၎င်းသည်ကွဲပြားခြားနားမှုများကိုလျင်မြန်စွာရှာဖွေတွေ့ရှိနိုင်ပြီးအချက်အလက်နှိုင်းယှဉ်ခြင်းစွမ်းရည်ကိုတိုးတက်စေသည်။ ဒေတာဘေ့စ်စုံစမ်းမှုများနှင့်ခုန်ချိတ်ဆက်မှုများပေါင်းစပ်ပြီးဒေတာထပ်တူပြုခြင်းကိုစောင့်ကြည့်လေ့လာရေးကိရိယာကိုလည်းတည်ဆောက်နိုင်သည်။
အသုံးပြုရန်ရိုးရိုးရှင်းရှင်းနှင့်မြင့်မားသောစွမ်းဆောင်ရည်မြင့်မားသည်မှာကွဲပြားခြားနားမှုများနှင့်ကိုင်တွယ်ရန်အကောင်းဆုံးရွေးချယ်မှုဖြစ်သည်။