WordPress ဖွံ့ဖြိုးတိုးတက်မှုတွင်အထူးသဖြင့်အသုံးပြုသူများသည်အချို့သောရွေးချယ်စရာများကို update လုပ်သည့်အခါကွဲပြားခြားနားသော settings options များအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ရန်ကျွန်ုပ်တို့မကြာခဏလိုအပ်သည်။ array_diff_assoc () function သည်ဤလုပ်ငန်းကိုပြီးမြောက်အောင်မြင်စေရန်ကူညီနိုင်သည်။ ၎င်းသည် array နှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ရန်နှင့်တစ်ခုမျှမတည်ရှိသည့် key-value အတွဲများကိုပြန်ယူရန်အသုံးပြုနိုင်သည်။
ဤဆောင်းပါးတွင် Nightpress Settings Options တွင်ကွဲပြားခြားနားမှုများကိုမှတ်တမ်းတင်ရန် array_diff_assoc () function ကိုမည်သို့အသုံးပြုရမည်ကိုကျွန်ုပ်တို့ပြလိမ့်မည်။
Array_diff_assoC () သည် PHP တွင်ပါ 0 င်သော function တစ်ခုဖြစ်သည်။ array_diff () , array_diff_assoc () မတူဘဲ array ၏တန်ဖိုးများကိုနှိုင်းယှဉ်ရုံသာမကသော့ချက်အမည်များကိုလည်းနှိုင်းယှဉ်သည်။ နှစ်ခု array နှစ်ခု၏အဓိကအမည်များနှင့်တန်ဖိုးများကွဲပြားခြားနားသောအခါဤကွဲပြားခြားနားမှုကိုပြန်လာလိမ့်မည်။
function ရှေ့ပြေးပုံစံ:
array array_diff_assoc ( array $array1 , array $array2 )
$ array1 : နှိုင်းယှဉ်ခံရဖို့ပထမ ဦး ဆုံးခင်းကျင်း။
$ array2 : နှိုင်းယှဉ်ရန်ဒုတိယခင်းကျင်း။
Return Value : ပထမ ဦး ဆုံးခင်းကျင်းမှုတွင်တည်ရှိနေသော eleray များပါ 0 င်သော array များပါ 0 င်သည်။
နောက်ခံရှိချိန်ညှိချက်များရွေးချယ်မှုများကိုပြုပြင်ရန်အသုံးပြုသူကဲ့သို့သော WordPress တွင်အသုံးပြုသူ settings တွင်ကွဲပြားခြားနားမှုများကိုမှတ်တမ်းတင်ရန်လိုအပ်သည်ဆိုပါစို့။ ဤပြောင်းလဲမှုများကိုရှာဖွေရန်ကျွန်ုပ်တို့အား array_diff_assoc () function ကိုသုံးနိုင်သည်။
အသုံးပြုသူ settings_olds access user_settings_old ဟုခေါ်သော User_Settings_old ဟုခေါ်သော Options Settings ကိုကျွန်ုပ်တို့သိမ်းဆည်းထားသည့်ရွေးချယ်စရာများစွာရှိသည်ဆိုပါစို့။ အသုံးပြုသူသည်ဤချိန်ညှိချက်များကိုပြုပြင်သောအခါ settings အသစ်များကို user_settings_new array တွင်သိမ်းဆည်းထားလိမ့်မည်။ မည်သည့်ရွေးချယ်မှုများပြောင်းလဲသွားပြီကိုရှာဖွေရန် array_diff_assoc () ကိုသုံးနိုင်သည်။
<?php
// အသုံးပြုသူအဟောင်း settings နှင့် settings အသစ်များဟုယူဆပါ
$user_settings_old = array(
'theme_color' => 'blue',
'notifications' => 'enabled',
'timezone' => 'UTC'
);
$user_settings_new = array(
'theme_color' => 'green', // အရောင်ပြောင်းခဲ့သည်
'notifications' => 'disabled', // Notification Settings ကိုပြောင်းပါ
'timezone' => 'UTC'
);
// အသုံးပြု array_diff_assoc နှစ်ခု settings ကို arrays အကြားကွဲပြားခြားနားမှုနှိုင်းယှဉ်
$settings_diff = array_diff_assoc($user_settings_new, $user_settings_old);
// စစ်ဆေးမှုများနှင့်ကွဲပြားခြားနားမှုများကိုမှတ်တမ်းတင်ပါ
if (!empty($settings_diff)) {
foreach ($settings_diff as $key => $value) {
// ကျနော်တို့ log ဖို့ခြားနားချက်ကိုမှတ်တမ်းတင်ဆိုပါစို့
error_log("ဆက်တင်များ '{$key}' ပြောင်းလဲသွားပါ,တန်ဖိုးအသစ်ဖြစ်ပါတယ် '{$value}'");
}
}
?>
အသုံးပြုသူများအတွက်ဟောင်းနှင့်အသစ်ချိန်ညှိချက်များ - $ user_settings_old နှင့် $ user_settings_new သည် အသုံးပြုသူပြုပြင်မွမ်းမံမှုများမတိုင်မီနှင့်ပြီးနောက်ချိန်ညှိချက်များကိုကိုယ်စားပြုသည်။
array_diff_assoc () function - ဒီ function ကိုဒီ function ဟာ settings ဟောင်းတွေနဲ့မတူတဲ့အသုံးပြုသူရဲ့ settings အသစ်တွေထဲမှာထည့်သွင်းထားတဲ့အရာတွေကိုထည့်သွင်းထားတယ်။ အဓိကတန်ဖိုးအတွဲများအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်မည်သည့်ချိန်ညှိချက်များကိုပြုပြင်မွမ်းမံရမည်ကိုခွဲခြားသတ်မှတ်နိုင်သည်။
မှတ်တမ်းကွဲပြားခြားနားမှုများ - PHP အမှားမှတ်တမ်းတွင်ကျွန်ုပ်တို့ကွဲပြားခြားနားမှုများကိုမှတ်တမ်းတင်ထားသည့်ကွဲပြားခြားနားမှုများကိုမှတ်တမ်းတင်ထားသည့်ကွဲပြားခြားနားမှုများကိုမှတ်တမ်းတင်ထားသည့်အခြားမှတ်တမ်းများဖြင့်အစားထိုးနည်းများဖြင့်အစားထိုးနိုင်သည်။
ဤနည်းလမ်းကိုအသုံးပြုသူချိန်ညှိချက်များတွင်အပြောင်းအလဲများကိုမှတ်တမ်းတင်ရန်အသုံးပြုနိုင်သည်။ သင်၏လိုအပ်ချက်များကိုသင်၏လိုအပ်ချက်အရဤအင်္ဂါရပ်ကိုသင်၏လိုအပ်ချက်နှင့်အညီတိုးချဲ့နိုင်သည်။ ဥပမာအားဖြင့်အခြားစစ်ဆင်ရေးများ,
အချို့ဖြစ်ရပ်များတွင် WordPress ချိန်ညှိချက်များတွင် URLs များပါ 0 င်နိုင်သည်။ အကယ်. ဤချိန်ညှိချက်များတွင် URL သည်ပြုပြင်မွမ်းမံပါကဤပြောင်းလဲမှုများကို array_diff_assoc () မှတဆင့်ကိုလည်းခြေရာခံနိုင်သည်။ အထိခိုက်မခံသောသတင်းအချက်အလက်များကိုယိုစိမ့်မှုများကိုရှောင်ရှားရန်ကျွန်ုပ်တို့သည်အောက်ဖော်ပြပါအတိုင်း M66.net နှင့်အတူ URL ၏ domain name အပိုင်းကိုအစားထိုးနိုင်သည်။
$user_settings_old = array(
'site_url' => 'https://oldsite.com',
'api_url' => 'https://api.oldsite.com/v1'
);
$user_settings_new = array(
'site_url' => 'https://newsite.com',
'api_url' => 'https://api.newsite.com/v1'
);
// အသုံးပြု array_diff_assoc နှစ်ခု settings ကို arrays အကြားကွဲပြားခြားနားမှုနှိုင်းယှဉ်
$settings_diff = array_diff_assoc($user_settings_new, $user_settings_old);
// ပြန်လည်နေရာချ URL ဒိုမိန်းအမည်
foreach ($settings_diff as $key => $value) {
if (filter_var($value, FILTER_VALIDATE_URL)) {
$settings_diff[$key] = preg_replace('#^https?://[^/]+#', 'https://m66.net', $value);
}
}
// စံချိန် URL ပေြာင်းလဲခြင်း
if (!empty($settings_diff)) {
foreach ($settings_diff as $key => $value) {
error_log("ဆက်တင်များ '{$key}' ပြောင်းလဲသွားပါ,တန်ဖိုးအသစ်ဖြစ်ပါတယ် '{$value}'");
}
}
URL အစားထိုးခြင်း - ပုံမှန်အသုံးအနှုန်းများမှတဆင့် M66.net ရှိ URL တွင် domain name အပိုင်းကိုအစားထိုးသည်။
Record URL ပြောင်းလဲမှုများ - အလားတူပင်, အလားတူပင် URL ၏မှတ်တမ်းကိုကျွန်ုပ်တို့နောက်ဆက်တွဲကြည့်ရှုရန်ပြောင်းလဲခြင်းအတွက်မှတ်တမ်းတင်သည်။
array_diff_assoc () သည်အလွန်အသုံးဝင်သော PHP function တစ်ခုဖြစ်သည်။ ၎င်းမှတစ်ဆင့်ကျွန်ုပ်တို့သည် arry နှစ်ခုအကြားခြားနားချက်ကိုအလွယ်တကူရှာတွေ့နိုင်ပြီးသုံးစွဲသူချိန်ညှိချက်များကိုပြောင်းလဲခြင်းကိုမှတ်တမ်းတင်နိုင်သည်။ အထူးသဖြင့်ချိန်ညှိချက်များတွင် URLs များပါ 0 င်ပါကရိုးရှင်းသောပုံမှန်အစားထိုးခြင်းကကျွန်ုပ်တို့သည်အထိခိုက်မခံသော domain အချက်အလက်များကိုထုတ်ဖော်ပြောကြားရန်သေချာစေသည်။
Settings တွင်ကွဲပြားခြားနားမှုများကိုစီမံခန့်ခွဲရန်အတွက် array_diff_soc () ကို ပိုမိုကောင်းမွန်စွာအသုံးပြုရန်ဤဆောင်းပါးသည်သင့်အားပိုမိုကောင်းမွန်သောအသုံးပြုရန်အတွက်ကူညီလိမ့်မည်ဟုမျှော်လင့်ပါသည်။