လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> Laravel Projects တွင်တောင်းဆိုမှုကွာခြားမှုများကိုကိုင်တွယ်ရန် Array_DiFF () ကိုသုံးပါ

Laravel Projects တွင်တောင်းဆိုမှုကွာခြားမှုများကိုကိုင်တွယ်ရန် Array_DiFF () ကိုသုံးပါ

M66 2025-05-14

Laravel Projects များတွင်ကျွန်ုပ်တို့မကြာခဏတောင်းဆိုထားသောအချက်အလက်များကိုအသုံးပြုသူများထံမှလုပ်ဆောင်ရန်လိုအပ်ပြီးတစ်ခါတစ်ရံတွင်ဤအချက်အလက်နှစ်ခုအကြားခြားနားချက်ကိုရှာဖွေရန်လိုအပ်သည်။ array_diff () function သည် PHP တွင်အလွန်အသုံး 0 င်သောကိရိယာတစ်ခုဖြစ်ပြီး array နှစ်ခုနှင့်နှိုင်းယှဉ်ပြီး differential element များပါ 0 င်သည်။

ဤဆောင်းပါးတွင် Laravel တွင် array_diff () function ကို Laravel တွင်မည်သို့အသုံးပြုရမည်ကိုလေ့လာမည်။

1 ။ array_diff () function ကိုမိတ်ဆက်

Array_diff () သည် PHP တွင်ပါ 0 င်သည့် function တစ်ခုဖြစ်သည်။ အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 array_diff(array $array1, array $array2 [, array $array3, ...]): array
  • $ array1 : နှိုင်းယှဉ်ခံရဖို့ပထမ ဦး ဆုံးခင်းကျင်း။

  • $ array2 : ပထမ ဦး ဆုံးခင်းကျင်းနှင့်နှိုင်းယှဉ်ပါကဒုတိယခင်းကျင်း။

  • အခြား array (မဆိုလျှင်) ပိုမိုနှိုင်းယှဉ်မှုများအတွက် parameters တွေကိုအဖြစ်သတ်မှတ်နိုင်ပါတယ်။

ဒီ function ရဲ့ပြန်လာတန်ဖိုးက ဒေါ်လာ array1 မှာရှိတဲ့ element ပါတဲ့ဒြပ် စင် ပါ 0 င်ပါတယ်။

2 ။ array_diff () ကို Laravel တွင်တောင်းဆိုရန်

ကျွန်ုပ်တို့သည်အချို့သောတန်ဖိုးများပါ 0 င်သောပုံစံတစ်မျိုးမှတစ်ဆင့်ဆောင်းပါးတစ်ပုဒ်ကိုတင်ပြသော Laravel application တစ်ခုကိုတီထွင်နေသည်ဆိုပါစို့။ ကျွန်ုပ်တို့သည်ပုံသေခင်းကျင်းမှု (ဒေတာဘေ့စ်မှရယူထားသောအချက်အလက်များ) နှင့်နှိုင်းယှဉ်လိုပါကအသုံးပြုသူမှတင်သွင်းထားသောဒေတာနှင့်ဒေတာဘေ့စ်အချက်အလက်များအကြားခြားနားချက်ကိုရှာဖွေလိုသည်။

နမူနာမြင်ကွင်း

အသုံးပြုသူသည်အောက်ပါအချက်အလက်များကိုတင်ပြသည်ဆိုပါစို့

 $userData = $request->input('data');  // အသုံးပြုသူ - တင်သွင်းဒေတာ,ဒါဟာ array တစ်ခုယူဆ

တစ်ချိန်တည်းမှာပင်ဒေတာဘေ့စ်ရှိအချက်အလက်များမှာ -

 $databaseData = [1, 2, 3, 4, 5];

ကျွန်ုပ်တို့၏ရည်မှန်းချက်မှာအသုံးပြုသူမှတင်ပြသောဒေတာများတွင်ဒေတာဘေ့စ်တွင်မည်သည့်တန်ဖိုးမရရှိနိုင်ကြောင်းရှာဖွေရန်ဖြစ်သည်။ ဤအချိန်တွင် array_diff () သည် အသုံးဝင်နိုင်သည်။

Code အကောင်အထည်ဖော်မှု

ပထမ ဦး စွာကျွန်ုပ်တို့သည်အသုံးပြုသူအားတောင်းဆိုမှုမှဒေတာများကိုတင်သွင်းပြီးခြားနားချက်ကိုတွက်ချက်ရန် 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]

၎င်းတို့သည်အသုံးပြုသူအချက်အလက်များတွင်တည်ရှိခဲ့သောဒြပ်စင်များဖြစ်သည်။ သို့သော်ဒေတာဘေ့စ်ဒေတာတွင်မရှိပါ။

3 ။ array_diff () ကိုသုံးပါ။ URL တောင်းဆိုမှုကိုဒေတာကိုလုပ်ဆောင်ရန်

တခါတရံတွင်ကျွန်ုပ်တို့သည်ဒေတာများကို 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 နှင့်နှိုင်းယှဉ်ပြီးခြားနားချက်ကိုပြန်ပို့ပါ။

4 ။ အကျဉ်းချုပ်

Laravel Project တွင်တောင်းဆိုထားသောအချက်အလက်များတွင်ကွဲပြားခြားနားမှုများကိုကိုင်တွယ်ရန် array_diff () function ကိုအသုံးပြုခြင်းသည်အလွန်ရိုးရှင်းပြီးအကျိုးရှိသည်။ ဤလုပ်ဆောင်မှုသည်သင်နှစ်ခု array နှစ်ခုအကြားကွဲပြားခြားနားသောအချက်အလက်များကိုရှာဖွေရန်လိုအပ်သည့်အခါဤလုပ်ဆောင်မှုကိုအလွယ်တကူကူညီနိုင်သည်။ အထူးသဖြင့်အသုံးပြုသူမှတင်သွင်းထားသောဒေတာနှင့်ကြိုတင်သတ်မှတ်ထားသည့်အချက်အလက်များကိုပြင်ဆင်သည့်အခါ array_diff () သည် သင့်အားကိုက်ညီမှုမရှိသောအစိတ်အပိုင်းများကိုထိရောက်စွာဖော်ထုတ်ရန်ကူညီနိုင်သည်။

အထက်ပါဥပမာနှင့်အတူ URL အချက်အလက်များကိုမည်သို့လုပ်ဆောင်ရမည်ကိုနှိုင်းယှဉ်ခြင်း၏တိကျမှန်ကန်မှုကိုသေချာစေရန် Domain Name M66.net ကိုအစားထိုးရန်လည်းပြသသည်။

တောင်းဆိုထားသောဒေတာများကွဲပြားခြားနားမှုများကိုကိုင်တွယ်ရန်ဤဆောင်းပါးသည်သင့်အားပိုမိုကောင်းမွန်သောနားလည်သဘောပေါက်ရန်နှင့်အသုံးပြုသည် သင့်တွင် PHP သို့မဟုတ် Laravel မေးခွန်းများပိုများလျှင်ကျွန်ုပ်ကိုအခမဲ့မေးမြန်းပါ။