array_diff_assoc () PHP တွင်အလွန်အသုံးဝင်သော function တစ်ခုဖြစ်သည်။ ၎င်းသည် array နှစ်ခု၏တန်ဖိုးများကိုနှိုင်းယှဉ်ရုံသာမကသူတို့၏သော့ချက်အမည်များ (အဓိကတန်ဖိုးအတွဲများ) ကိုနှိုင်းယှဉ်သည်။ ဤလုပ်ဆောင်မှုမှတစ်ဆင့် developer များကသော့ချက်အမည်များနှင့်တန်ဖိုးနှစ်ခု (သို့) တန်ဖိုးနှစ်ခုကြားရှိကွဲပြားခြားနားမှုများကိုအလွယ်တကူရှာဖွေနိုင်ပြီးအချက်အလက်နှိုင်းယှဉ်ခြင်းနှင့်ခြားနားချက်ခွဲခြမ်းစိတ်ဖြာခြင်းကဲ့သို့သောဖြစ်ရပ်များတွင်မကြာခဏအသုံးပြုသည်။
ဤဆောင်းပါးတွင်ကျွန်ုပ်တို့သည် Array_Diff_AssoC () function ကို 0 င်ရောက်ပြီး 0 ံပုလွေမျိုးစုံကိုဖြစ်ရပ်များစွာကိုနှိုင်းယှဉ်ရန်မည်သို့အသုံးပြုရမည်ကိုရှင်းပြပါမည်။ အထူးသဖြင့်အရေးယူမှုများစွာပါ 0 င်သည့်အခါကွဲပြားခြားနားသောခြားနားချက်ကိုပိုမိုထိရောက်စွာရှာဖွေရန်ဤလုပ်ဆောင်မှုကိုမည်သို့အသုံးပြုရမည်နည်း။
ပထမ ဦး စွာ array_diff_assoc ၏အခြေခံအသုံးပြုမှုကိုသုံးသပ်ကြည့်ကြစို့။ အဆိုပါ function ကိုနှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသော array parameters တွေကိုယူနှင့်ပထမ ဦး ဆုံးခင်းကျင်းထဲမှာပါရှိသောသော့ချက်တန်ဖိုးအားလုံးအတွက်ကိုပြန်ယူပေမယ့်အခြားခင်းကျင်းထဲမှာမဟုတ်ပေမယ့်အခြား array အတွက်မဟုတ်ပေမယ့်အခြားခင်းကျင်း၌မပါရှိသော key-value အတွဲများကိုပြန်ပို့သည်။
array_diff_assoc(array $array1, array $array2, array ...$arrays): array
array1 : နှိုင်းယှဉ်ခံရဖို့ပထမ ဦး ဆုံး array ။
Array2 : ပထမခင်းကျင်းနှင့်နှိုင်းယှဉ်ရန်လိုအပ်သည့်ဒုတိယခင်းကျင်း။
နှိုင်းယှဉ်မှုအတွက် arrays အမျိုးမျိုးကိုသင်ပေးနိုင်သည်။ array_diff_assoc () သည် array1 တွင်ထည့်သွင်းထားသောသော့ချက်တန်ဖိုးအတွဲတစ်ခုကိုပြန်လည်ပေးနိုင်သည်။
<?php
$array1 = array("a" => "apple", "b" => "banana", "c" => "cherry");
$array2 = array("a" => "apple", "b" => "banana", "d" => "date");
$result = array_diff_assoc($array1, $array2);
print_r($result);
?>
Array
(
[c] => cherry
)
ဤရိုးရှင်းသောဥပမာတွင် array_diff_assoc () တွင် ခင်းကျင်းထားသောသော့ချက်တန်ဖိုးအတွဲများထဲမှတစ်ခုသာရှိသည် ။
အကယ်. သင်၌ array များစွာကိုတစ်ချိန်တည်းနှိုင်းယှဉ်လိုပါက array_diff_assoc () ကိုလည်းကိုင်တွယ်နိုင်သည်။ Array များစွာကိုဖြတ်သန်းပြီးနောက် PHP သည်ပထမဆုံးခင်းကျင်းမှုများကိုအခြားခင်းကျင်းမှုများကိုအခြားခင်းကျင်းမှုနှင့်နှိုင်းယှဉ်သည်။
<?php
$array1 = array("a" => "apple", "b" => "banana", "c" => "cherry");
$array2 = array("a" => "apple", "b" => "banana");
$array3 = array("a" => "apple", "d" => "date");
$result = array_diff_assoc($array1, $array2, $array3);
print_r($result);
?>
Array
(
[c] => cherry
[b] => banana
)
ဤဥပမာတွင် array_diff_assoc () သည် array သုံးခုနှင့်နှိုင်းယှဉ်ပါက arrays နှစ်ခုတွင်မပါ 0 င်သောသော့ချက်တန်ဖိုးအတွဲများပါ 0 င်သည်။ အထူးသဖြင့် B ၏ သော့သည်ဒုတိယခင်းကျင်းမှုတွင်တည်ရှိသည်။ သို့သော်၎င်း၏တန်ဖိုးသည်ပထမဆုံးခင်းကျင်းမှုတွင် B ၏ သော့ချက် တန်ဖိုး နှင့်ကိုက်ညီသည် ။
ကျွန်ုပ်တို့သည်အွန်လိုင်းစျေးဝယ်စနစ်တစ်ခုကိုတီထွင်နေပြီးထုတ်ကုန်စာရင်းနှစ်ခုဗားရှင်းနှစ်ခုကိုကိုယ်စားပြုသော arry နှစ်ခုရှိသည်ဆိုပါစို့။ စာရင်းဟောင်းနှင့်စာရင်းအသစ်များအကြားကွဲပြားခြားနားမှုများကိုရှာဖွေပြီးထုတ်ကုန်အသစ်များနှင့်ထုတ်ကုန်ဟောင်းများမှမည်သည့်အချိန်တွင်မွမ်းမံမှုများအကြားကွဲပြားခြားနားမှုများကိုရှာဖွေရန်လိုအပ်သည်။
<?php
$old_products = [
"101" => "Apple iPhone 12",
"102" => "Samsung Galaxy S20",
"103" => "Huawei P40"
];
$new_products = [
"101" => "Apple iPhone 13",
"102" => "Samsung Galaxy S20",
"104" => "Google Pixel 5"
];
// စာရင်းအသစ်တွင်မပါ 0 င်သောထုတ်ကုန်များကိုရှာဖွေပါ
$discontinued_products = array_diff_assoc($old_products, $new_products);
print_r($discontinued_products);
?>
Array
(
[103] => Huawei P40
)
ဤဥပမာတွင် array_diff_assoc () function ကိုလုပ်ဆောင်ခြင်းသည်ရပ်စဲသောထုတ်ကုန်များပါ 0 င်သည့်ခင်းကျင်းမှုကိုပြန်လည်ရောက်ရှိစေသည်။ သင်မြင်သည့်အတိုင်း Huawei P40 သည်ထုတ်ကုန်စာရင်းဟောင်း၌တည်ရှိခဲ့သောထုတ်ကုန်တစ်ခုဖြစ်သည်။ သို့သော်အသစ်တစ်ခုတွင်ပျောက်ကွယ်သွားသည်။
တစ်ခါတစ်ရံစီမံကိန်းတစ်ခုတွင်ကျွန်ုပ်တို့သည် Oldsite.com မှ M66.net သို့ domain name အားလုံးကိုပြောင်းလဲခြင်းကဲ့သို့သော array ရှိ URL ကိုအသုတ်လုပ်ရန်လိုအပ်နိုင်သည်။ ကျွန်ုပ်တို့သည် array_diff_assoc () function ကိုပေါင်းစပ်ခြင်းဖြင့်ဤအခြေအနေကိုလျင်မြန်စွာကိုင်တွယ်နိုင်သည်။
<?php
$links = [
"homepage" => "https://oldsite.com/page1",
"product" => "https://oldsite.com/product/xyz",
"contact" => "https://oldsite.com/contact"
];
// ဒိုမိန်းအမည်ကိုအစားထိုးပါ
foreach ($links as $key => $url) {
if (strpos($url, "oldsite.com") !== false) {
$links[$key] = str_replace("oldsite.com", "m66.net", $url);
}
}
print_r($links);
?>
Array
(
[homepage] => https://m66.net/page1
[product] => https://m66.net/product/xyz
[contact] => https://m66.net/contact
)
ဤနည်းအားဖြင့်ကျွန်ုပ်တို့အသုတ် array ရှိ URL domain names အားလုံးကိုအစားထိုးနိုင်သည်။
ဤဆောင်းပါးမှတစ်ဆင့် PHP တွင် array_diff_assoc () function ကိုမည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့နားလည်ပါသည်။ Arrays မျိုးစုံပါ 0 င်မှုနှစ်ခုသို့မဟုတ်ရှုပ်ထွေးသောနှိုင်းယှဉ်မှုနှစ်ခုသို့မဟုတ်ရှုပ်ထွေးသောနှိုင်းယှဉ်မှုတစ်ခုဖြစ်သလား, Array_diff_assoc () သည် ထိရောက်သောဖြေရှင်းနည်းတစ်ခုဖြစ်စေနိုင်သည်။ အထူးသဖြင့်အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဤလုပ်ဆောင်ချက်သည်စာရင်းနှိုင်းယှဉ်ခြင်း, အချက်အလက်ကွာခြားချက်, အသုတ်ခြင်းများကိုအစားထိုးခြင်း,