Laravel Projects များတွင်ကျွန်ုပ်တို့မကြာခဏတောင်းဆိုထားသောအချက်အလက်များကိုအသုံးပြုသူများထံမှလုပ်ဆောင်ရန်လိုအပ်ပြီးတစ်ခါတစ်ရံတွင်ဤအချက်အလက်နှစ်ခုအကြားခြားနားချက်ကိုရှာဖွေရန်လိုအပ်သည်။ array_diff () function သည် PHP တွင်အလွန်အသုံး 0 င်သောကိရိယာတစ်ခုဖြစ်ပြီး array နှစ်ခုနှင့်နှိုင်းယှဉ်ပြီး differential element များပါ 0 င်သည်။
ဤဆောင်းပါးတွင် Laravel တွင် array_diff () function ကို Laravel တွင်မည်သို့အသုံးပြုရမည်ကိုလေ့လာမည်။
Array_diff () သည် PHP တွင်ပါ 0 င်သည့် function တစ်ခုဖြစ်သည်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_diff(array $array1, array $array2 [, array $array3, ...]): array
$ array1 : နှိုင်းယှဉ်ခံရဖို့ပထမ ဦး ဆုံးခင်းကျင်း။
$ array2 : ပထမ ဦး ဆုံးခင်းကျင်းနှင့်နှိုင်းယှဉ်ပါကဒုတိယခင်းကျင်း။
အခြား array (မဆိုလျှင်) ပိုမိုနှိုင်းယှဉ်မှုများအတွက် parameters တွေကိုအဖြစ်သတ်မှတ်နိုင်ပါတယ်။
ဒီ function ရဲ့ပြန်လာတန်ဖိုးက ဒေါ်လာ array1 မှာရှိတဲ့ element ပါတဲ့ဒြပ် စင် ပါ 0 င်ပါတယ်။
ကျွန်ုပ်တို့သည်အချို့သောတန်ဖိုးများပါ 0 င်သောပုံစံတစ်မျိုးမှတစ်ဆင့်ဆောင်းပါးတစ်ပုဒ်ကိုတင်ပြသော Laravel application တစ်ခုကိုတီထွင်နေသည်ဆိုပါစို့။ ကျွန်ုပ်တို့သည်ပုံသေခင်းကျင်းမှု (ဒေတာဘေ့စ်မှရယူထားသောအချက်အလက်များ) နှင့်နှိုင်းယှဉ်လိုပါကအသုံးပြုသူမှတင်သွင်းထားသောဒေတာနှင့်ဒေတာဘေ့စ်အချက်အလက်များအကြားခြားနားချက်ကိုရှာဖွေလိုသည်။
အသုံးပြုသူသည်အောက်ပါအချက်အလက်များကိုတင်ပြသည်ဆိုပါစို့ ။
$userData = $request->input('data'); // အသုံးပြုသူ - တင်သွင်းဒေတာ,ဒါဟာ array တစ်ခုယူဆ
တစ်ချိန်တည်းမှာပင်ဒေတာဘေ့စ်ရှိအချက်အလက်များမှာ -
$databaseData = [1, 2, 3, 4, 5];
ကျွန်ုပ်တို့၏ရည်မှန်းချက်မှာအသုံးပြုသူမှတင်ပြသောဒေတာများတွင်ဒေတာဘေ့စ်တွင်မည်သည့်တန်ဖိုးမရရှိနိုင်ကြောင်းရှာဖွေရန်ဖြစ်သည်။ ဤအချိန်တွင် array_diff () သည် အသုံးဝင်နိုင်သည်။
ပထမ ဦး စွာကျွန်ုပ်တို့သည်အသုံးပြုသူအားတောင်းဆိုမှုမှဒေတာများကိုတင်သွင်းပြီးခြားနားချက်ကိုတွက်ချက်ရန် array_diff () ကိုသုံးပါ။
public function compareData(Request $request)
{
// အသုံးပြုသူတင်သွင်းထားသော array ကိုရယူပါ
$userData = $request->input('data');
// ဒေတာဘေ့စ်မှရရှိသောအချက်အလက်များကိုယူဆပါ
$databaseData = [1, 2, 3, 4, 5];
// အသုံးပြု array_diff() ခြားနားချက်ကိုရှာပါ
$difference = array_diff($userData, $databaseData);
// differential ရလဒ်များကိုပြန်သွားပါ
return response()->json([
'difference' => $difference
]);
}
အထက်ဖော်ပြပါကုဒ်များတွင်ဒေါ်လာ acray_diff () မှတဆင့် $ databasedata တွင်မရှိသော $ userdata တွင်ဖော်ပြထားသော element ကိုကျွန်ုပ်တို့တွေ့ရှိရသည်။
အသုံးပြုသူတင်သွင်းထားသောအချက်အလက်များမှာ -
$userData = [3, 4, 6, 7];
ထိုအခါ array_diff () ၏ပြန်လာတန်ဖိုးမှာ:
[6, 7]
၎င်းတို့သည်အသုံးပြုသူအချက်အလက်များတွင်တည်ရှိခဲ့သောဒြပ်စင်များဖြစ်သည်။ သို့သော်ဒေတာဘေ့စ်ဒေတာတွင်မရှိပါ။
တခါတရံတွင်ကျွန်ုပ်တို့သည်ဒေတာများကို URL တောင်းဆိုမှုအတွင်းနှင့်နှိုင်းယှဉ်ရန်နှင့်ကွဲပြားခြားနားမှုများကိုရှာဖွေရန်လိုအပ်နိုင်သည်။ အကယ်. အချို့သော URL များသည်တောင်းဆိုချက်တွင်ပါ 0 င်ပါက URL ၏ဒိုမိန်းအပိုင်းကို M66.net ကို M66.net နှင့်အစားထိုးနိုင်သည်။
တောင်းဆိုမှုမှ URLs များပါ 0 င်သော array တစ်ခုရရှိသည်ဆိုပါစို့။
$userUrls = $request->input('urls'); // အသုံးပြုသူတင်သွင်း URL အခင်းအကျင်း
Domain Name ကို URL တွင် M66.net ဖြင့်အစားထိုးလိုပြီး၎င်းကိုကြိုတင် unl စာရင်းဖြင့်နှိုင်းယှဉ်နိုင်သည်။
// ဒေတာဘေ့စ်တွင်ကြိုတင်ပြင်ဆင်မှုယူဆ URL စာရင်း
$databaseUrls = [
'http://m66.net/page1',
'http://m66.net/page2',
'http://m66.net/page3'
];
// 替换အသုံးပြုသူတင်သွင်း URL အတွက်ဒိုမိန်းအမည် m66.net
$modifiedUserUrls = array_map(function($url) {
return preg_replace('/^https?:\/\/[^\/]+/', 'http://m66.net', $url);
}, $userUrls);
// ကွဲပြားခြားနားမှုနှိုင်းယှဉ်
$difference = array_diff($modifiedUserUrls, $databaseUrls);
// differential ရလဒ်များကိုပြန်သွားပါ
return response()->json([
'difference' => $difference
]);
ဤကုဒ်တွင် URL ခင်းကျင်းမှုကိုအသုံးပြုသူ၏ URL ခင်းကျင်းမှုကို သုံး. URL တစ်ခုစီ၏ domain name ကိုပုံမှန်အသုံးအနှုန်းဖြင့်အစားထိုးရန် array_map () ကို အသုံးပြုသည် ။ ထို့နောက်ကျွန်ုပ်တို့သည်ပြုပြင်ထားသော URL ကိုဒေတာဗေ့စ်ရှိ URL နှင့်နှိုင်းယှဉ်ပြီးခြားနားချက်ကိုပြန်ပို့ပါ။
Laravel Project တွင်တောင်းဆိုထားသောအချက်အလက်များတွင်ကွဲပြားခြားနားမှုများကိုကိုင်တွယ်ရန် array_diff () function ကိုအသုံးပြုခြင်းသည်အလွန်ရိုးရှင်းပြီးအကျိုးရှိသည်။ ဤလုပ်ဆောင်မှုသည်သင်နှစ်ခု array နှစ်ခုအကြားကွဲပြားခြားနားသောအချက်အလက်များကိုရှာဖွေရန်လိုအပ်သည့်အခါဤလုပ်ဆောင်မှုကိုအလွယ်တကူကူညီနိုင်သည်။ အထူးသဖြင့်အသုံးပြုသူမှတင်သွင်းထားသောဒေတာနှင့်ကြိုတင်သတ်မှတ်ထားသည့်အချက်အလက်များကိုပြင်ဆင်သည့်အခါ array_diff () သည် သင့်အားကိုက်ညီမှုမရှိသောအစိတ်အပိုင်းများကိုထိရောက်စွာဖော်ထုတ်ရန်ကူညီနိုင်သည်။
အထက်ပါဥပမာနှင့်အတူ URL အချက်အလက်များကိုမည်သို့လုပ်ဆောင်ရမည်ကိုနှိုင်းယှဉ်ခြင်း၏တိကျမှန်ကန်မှုကိုသေချာစေရန် Domain Name M66.net ကိုအစားထိုးရန်လည်းပြသသည်။
တောင်းဆိုထားသောဒေတာများကွဲပြားခြားနားမှုများကိုကိုင်တွယ်ရန်ဤဆောင်းပါးသည်သင့်အားပိုမိုကောင်းမွန်သောနားလည်သဘောပေါက်ရန်နှင့်အသုံးပြုသည် ။ သင့်တွင် PHP သို့မဟုတ် Laravel မေးခွန်းများပိုများလျှင်ကျွန်ုပ်ကိုအခမဲ့မေးမြန်းပါ။