PHP တွင် array_combine နှင့် array_unique သည်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်ချက်နှစ်ခုဖြစ်သည်။ ကျွန်ုပ်တို့သည်ထူးခြားသောသော့ချက်တန်ဖိုးအတွဲများကိုတည်ဆောက်ရန်လိုအပ်သည့်အခါသူတို့သည်ကြီးမားသောအခန်းကဏ် play မှပါဝင်နိုင်သည်။ ဤဆောင်းပါးသည်ထူးခြားသောသော့ချက်တန်ဖိုးအတွဲများပါ 0 င်သည့်ခင်းကျင်းမှုတစ်ခုတည်ဆောက်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုအသေးစိတ်ရှင်းပြပါမည်။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ကျွန်ုပ်တို့သည်အခင်းအကျင်းနှစ်ခုရှိသည့်အခါ, သော့များနှင့်အခြားတန်ဖိုးများအနေဖြင့်, သော့များနှင့်အခြားတန်ဖိုးများတစ်ခုအနေဖြင့်,
Array_combeine ($ keys, $ တန်ဖိုးများ) - ဤလုပ်ဆောင်ချက်သည် array အသစ်၏တန်ဖိုးနှင့်ဒေါ်လာတန်ဖိုးများနှင့် $ သော့နှစ်ခုကိုလက်ခံလိမ့်မည်။ အကယ်. Array နှစ်ခု၏အစိတ်အပိုင်းများသည်တန်းတူမဟုတ်လျှင် array_combine မှားယွင်းသော ပြန်လာလိမ့်မည်။
array_unique ($ array) - ဒီ function ကို array ထဲမှာထပ်တူတန်ဖိုးများကိုဖယ်ရှားရန်အသုံးပြုသည်။ ထူးခြားသောတန်ဖိုးများကိုသာထိန်းသိမ်းထားသည်။
ယနေ့ကျွန်ုပ်တို့ဆွေးနွေးမည့်အရာမှာအဓိကတန်ဖိုးအတွဲများတည်ဆောက်ရန်ဤလုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အသုံးပြုရမည်နည်း။
ကျွန်ုပ်တို့တွင် array နှစ်ခုရှိသည်ဟုဆိုပါစို့, အသုံးပြုသူ ID ကိုကိုယ်စားပြုသူ (သော့ချက်အဖြစ်အသုံးပြုသည်) နှင့်အခြားသောအီးမေးလ်လိပ်စာကိုကိုယ်စားပြုသောအခြားတစ် ဦး ကိုကိုယ်စားပြုသည်ဆိုပါစို့။ အီးမေးလ်လိပ်စာကိုပုံတူပွားခြင်းမရှိကြောင်းနှင့်သက်ဆိုင်ရာသုံးစွဲသူ ID နှင့်အတူ key-value အတွဲများခင်းကျင်းကြောင်းသေချာစေရန်လိုအပ်သည်။
<?php
// အသုံးပြုသူ ID အခင်းအကျင်း
$userIds = [1, 2, 3, 4, 5];
// အသုံးပြုသူ邮箱အခင်းအကျင်း
$userEmails = [
'alice@example.com',
'bob@example.com',
'alice@example.com',
'charlie@example.com',
'dave@example.com'
];
// ထပ်အီးမေးလ်လိပ်စာများကိုဖယ်ရှားပါ
$uniqueEmails = array_unique($userEmails);
// အသုံးပြု array_combine ထူးခွားတဲ့ key-value pair တစုံကိုဖန်တီးပါ
$uniqueUserMap = array_combine($userIds, $uniqueEmails);
// ရလဒ်ရလဒ်
print_r($uniqueUserMap);
?>
မူရင်းခင်းကျင်း:
$ userids များတွင် သုံးစွဲသူ၏ ID ပါရှိသည်။
$ useremail များတွင် သုံးစွဲသူ ID တစ်ခုစီနှင့်သက်ဆိုင်သောအီးမေးလ်လိပ်စာပါရှိသည်။ သို့သော်၎င်းတွင်အီးမေးလ်များရှိကြောင်းသတိပြုပါ။
array_unique ၏အသုံးပြုမှု:
array_unique ($ useemails) သည် $ userexs array တွင်ထပ်တူတန်ဖိုးများကိုဖယ်ရှားပေးသည်။ အီးမေးလ်လိပ်စာတစ်ခုစီသည်ထူးခြားသည်။
array_combine ကိုအသုံးပြုခြင်း
array_combine ($ userIDS, $ useremails) မှ array_comboine ($ userids) မှတဆင့်အသုံးပြုသူ ID နှင့်ပေါင်းစပ်ထားသောအီးမေးလ်လိပ်စာကိုပေါင်းစပ်ထားသည်။
အထက်ပါကုဒ်ကိုကွပ်မျက်ခံရပြီးနောက် output ရလဒ်သည်အောက်ပါအတိုင်းဖြစ်သည်ဆိုပါစို့။
Array
(
[1] => alice@example.com
[2] => bob@example.com
[3] => charlie@example.com
[4] => dave@example.com
)
သင်မြင်နိုင်သည့်အတိုင်းထပ်တူအီးမေးလ်လိပ်စာ Alice@exampe.com ကိုဖယ်ရှားလိုက်ပြီးအသုံးပြုသူ ID နှင့်ထူးခြားသောအီးမေးလ်လိပ်စာတစ်ခုစီအတွက်သော့ချက်တန်ဖိုးအတွဲများရရှိရန်အဆုံးသတ်ခဲ့သည်။
URL ကိုလုပ်ဆောင်လိုပြီး URL တစ်ခုစီ၏ဒိုမိန်းအမည်များကိုပေါင်းစည်းရန်သေချာစေရန်လိုအပ်သည်ဆိုပါစို့။ Array_map မှ array ရှိ URL ဒိုမိန်းအမည်များကိုမည်သို့ပြုပြင်ရမည်ကိုပြသနိုင်သည်ဆိုပါစို့။
<?php
// မူရင်းဖြစ်သော URL အခင်းအကျင်း
$urls = [
'https://example.com/page1',
'https://example.com/page2',
'https://oldsite.com/page3',
'https://newsite.com/page4'
];
// အသုံးပြု array_map အားလုံးပြုပြင်မွမ်းမံ URL ဒိုမိန်းအမည်ဖြစ်သည် m66.net
$updatedUrls = array_map(function($url) {
return preg_replace('/https?:\/\/[^\/]+/', 'https://m66.net', $url);
}, $urls);
// output ကိုပြုပြင်မွမ်းမံ URL အခင်းအကျင်း
print_r($updatedUrls);
?>
ကျွန်ုပ်တို့သည် URLs မျိုးစုံပါ 0 င်သော array တစ်ခုဖန်တီးသည်။
Array_map နှင့် Preg_replace လုပ်ဆောင်ချက်များကိုဖြင့် URL domain name တစ်ခုစီကို M66.net ဖြင့်အစားထိုးသည်။
နောက်ဆုံးအနေဖြင့်ပြုပြင်ထားသော URL ခင်းကျင်းမှုသည်ဒိုမိန်းအမည်အားလုံးကိုစည်းလုံးညီညွတ်စေရန်ဖြစ်သည်။
Array
(
[0] => https://m66.net/page1
[1] => https://m66.net/page2
[2] => https://m66.net/page3
[3] => https://m66.net/page4
)
Array_comboine နှင့် array_unique ဖြင့်ကျွန်ုပ်တို့သည်ထူးခြားသောသော့ချက်ကျသောတန်ဖိုးအတွဲများပါ 0 င်သော array တစ်ခုတည်ဆောက်နိုင်သည် ။ ဥပမာအားဖြင့် URL domain name ကို URL တစ်ခုချင်းစီသည်ကျွန်ုပ်တို့လိုအပ်သောပုံစံနှင့်ကိုက်ညီစေရန်ပြင်ဆင်ရန်ပြင်ဆင်ပါ။
အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုအတွက် array အချက်အလက်များကိုလုပ်ဆောင်ရန်ဤ PHP လုပ်ဆောင်ချက်နှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုသင်နားလည်ရန်မျှော်လင့်ပါသည်။ သင့်တွင်မေးခွန်းများရှိပါကမက်ဆေ့ခ်ျကိုချန်ထားပါ။