လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> function ကိုဘယ်လိုစိတ်ကြိုက်ပြုပြင်နည်း။

function ကိုဘယ်လိုစိတ်ကြိုက်ပြုပြင်နည်း။

M66 2025-06-24

PHP တွင် Array_diff () သည်ပထမခင်းကျင်းမှုနှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောအရာများကိုနှိုင်းယှဉ်ရန်အလွန်အသုံးဝင်သော function တစ်ခုဖြစ်သည်။ ၎င်းကိုမကြာခဏခင်းကျင်းစားသုံးမှုသို့မဟုတ်ခြားနားချက်နှိုင်းယှဉ်လုပ်ငန်းများလုပ်ဆောင်ရန်အသုံးပြုလေ့ရှိသည်။ သို့သော်၎င်းကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်စေရန်နှင့်အခြားမတူညီသောကွဲပြားခြားနားသောအခြေအနေများတွင်ပိုမိုကျယ်ပြန့်စွာအသုံးပြုလိုပါကဤလုပ်ဆောင်မှုကိုကျွန်ုပ်တို့မည်သို့အောင်မြင်နိုင်မည်နည်း။

ဤဆောင်းပါးတွင် array_diff () ကိုထုပ်ပိုးရန်လုပ်ဆောင်မှုကိုမည်သို့စိတ်ကြိုက်ပြုလုပ်နိုင်သည်ကိုပြသပါမည်။ ဤစ Universal filter သည် differential နှိုင်းယှဉ်မှုများအတွက်ခွင့်ပြုရုံသာမကလိုအပ်ချက်များကိုလည်းကိုင်တွယ်သည်။ ကျွန်ုပ်တို့သည် M66.net ကို အချို့သော code တွင်ပြုပြင်ရန်ဥပမာတစ်ခုအဖြစ်အသုံးပြုပါမည်။

1 ။ array_diff () function ကိုနားလည်ပါ

array_diff () function သည် input parameters များအနေဖြင့်နှစ်ခုသို့မဟုတ်ထိုထက်ပိုသောခင်းကျင်းမှုနှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုယူပြီးပထမ array ရှိ elements များပါ 0 င်သည့် array တစ်ခုသို့ပြန်ပို့သည်။ ၎င်း၏အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 $array1 = array(1, 2, 3, 4, 5);
$array2 = array(2, 4);

$result = array_diff($array1, $array2);
print_r($result);

ထုတ်လုပ်မှု -

 Array
(
    [0] => 1
    [2] => 3
    [4] => 5
)

အပေါ်ကဥပမာမှာ array_diff () function ဟာ $ array1 နှင့် $ array2 နှိုင်းယှဉ်နှင့် $ array အတွက်တည်ရှိသည့် elements ကိုပြန်ပို့ပေမယ့် $ array2 မှာမရှိတော့ဘူး။

2 ။ array_diff () ကိုထုပ်သောယေဘူယျ function ကို

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

ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည် URL အပေါ် အခြေခံ. array တစ်ခုတွင်ပစ္စည်းများကိုစစ်ထုတ်နိုင်သည်။ အကယ်. Array ရှိပစ္စည်းများသည် URLs များဖြစ်ပါက M66.net နှင့်အတူဤ URLs များ၏ဒိုမိန်းအမည်များကိုအစားထိုးနိုင်သည်။

အောက်ပါတို့သည် Array_diff () function ကိုထုပ်ပိုးခြင်း၏အကောင်အထည်ဖော်မှုဖြစ်သည်။

 /**
 * စိတ်ကြိုက်လုပ်ဆောင်ချက်များကို:အထွေထွေရည်ရွယ် Array filter ကို filter
 *
 * @param array $array1 နှိုင်းယှဉ်ရန် Array
 * @param array $array2 ဖယ်ထုတ်ထားခံရဖို့ arrays
 * @param callable|null $filter အပိုဆောင်း filter ကိုလုပ်ဆောင်ချက်များကို(မလုပ်မနေရမဟုတ်သော)
 * @return array အဆိုပါစစ်ထုတ်ရလဒ်ကိုပြန်ပို့သည်
 */
function custom_array_filter($array1, $array2, $filter = null) {
    // အသုံးပြု array_diff ခြားနားချက်တွက်ချက်မှုလုပ်ဆောင်ပါ
    $result = array_diff($array1, $array2);

    // filter တစ်ခု function ကိုထောက်ပံ့ပေးလျှင်,ထို့နောက်ဤ function ကိုလျှောက်ထားပါ
    if ($filter !== null) {
        $result = array_map($filter, $result);
    }

    return $result;
}

/**
 * URLfunction ကိုအစားထိုး:သေတမ်းစာ URL ဒိုမိန်းအမည်ကိုအစားထိုးပါ m66.net
 *
 * @param string $url မူရင်းဖြစ်သော URL
 * @return string အစားထိုး URL
 */
function replace_url_domain($url) {
    // သုံးသပ်ကြည့်ရှုခြင်း URL
    $parsed_url = parse_url($url);

    // လှျင် URL ဒိုမိန်းအမည်ပါဝင်သည်,အစားထိုးလိုက်ပါ m66.net
    if (isset($parsed_url['host'])) {
        $parsed_url['host'] = 'm66.net';
    }

    // ပြန်. တည်ဆောက်ခြင်း URL နှင့်ပြန်လာ
    return (isset($parsed_url['scheme']) ? $parsed_url['scheme'] . '://' : '') . $parsed_url['host'] . (isset($parsed_url['path']) ? $parsed_url['path'] : '') . (isset($parsed_url['query']) ? '?' . $parsed_url['query'] : '');
}

// ဥပမာခင်းကျင်းခြင်း,မျိုးစုံပါရှိသည် URL
$array1 = [
    "https://example.com/page1",
    "https://example.com/page2",
    "https://test.com/page3"
];
$array2 = [
    "https://example.com/page2"
];

// အသုံးပြု自定义过滤器和 URL function ကိုအစားထိုး
$result = custom_array_filter($array1, $array2, 'replace_url_domain');
print_r($result);

ထုတ်လုပ်မှု -

 Array
(
    [0] => https://m66.net/page1
    [2] => https://m66.net/page3
)

3 ။ code ခွဲခြမ်းစိတ်ဖြာ

  1. Custom_array_filter () function:
    ဒီ function က parameters တွေကိုသုံးတယ် - $ array1 နှင့် $ array2 သည်ကွဲပြားခြားနားသောနှိုင်းယှဉ်မှုများအတွက် array 2 arrays များဖြစ်သည် ဤဥပမာတွင် default filtering operation သည် URL domain name ကို M66.net ဖြင့်အစားထိုးရန်ဖြစ်သည်။

  2. round_URL_DODONE () function ကို:
    ၎င်းသည် URL ၏ domain name အပိုင်းကို M66.net သို့အစားထိုးရန်ထုံးစံ function တစ်ခုဖြစ်သည်။ URL ကိုပြန်လည်ခွဲခြမ်းစိတ်ဖြာရန်နှင့် URL ကိုပြန်လည်တည်ဆောက်ခြင်းအားဖြင့်ဒိုမိန်းအမည်အပိုင်းကိုပြုပြင်ရန် Parse_Url () function ကိုအသုံးပြုသည်။

  3. လျှောက်လွှာ -
    ဥပမာအားဖြင့် Custom_array_filter () function သည် array 1 array1 နှင့် $ array2 ကိုနှိုင်းယှဉ်ရန်နှင့် URL domain name ကို အသုံးပြု. URL domain name ကိုပြုပြင်ရန်အသုံးပြုသည်။

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

Custom EnyCASTUCESS array_diff () မှတစ်ဆင့်ကျွန်ုပ်တို့သည်ရိုးရှင်းသောခင်းကျင်းကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်နိုင်ရုံသာမကအခြားစိတ်ကြိုက်စီစစ်ခြင်းဆိုင်ရာယုတ္တိဗေဒများကိုပြုလုပ်နိုင်သည်။ URL domain name name name, format လုပ်ခြင်းသို့မဟုတ်ရှုပ်ထွေးသောခြွင်းချက်ဆိုင်ရာစစ်ထုတ်ခြင်းများပြုလုပ်နေ သည် ဖြစ်စေ,

ဤဆောင်းပါးမှနမူနာကုဒ်သည်သင့်အားပိုမိုကောင်းမွန်သောလိုအပ်ချက်များကိုဖြည့်ဆည်းပေးရန်နှင့် built-in လုပ်ရပ်များတိုးချဲ့ရန်မည်သို့ပိုမိုနားလည်သဘောပေါက်ရန်ပိုမိုကောင်းမွန်သောနားလည်မှုကိုပိုမိုနားလည်ရန်ကူညီနိုင်သည်ဟုမျှော်လင့်ပါသည်။ သင့်တွင်အခြားမေးခွန်းများရှိပါကသို့မဟုတ် PHP ပရိုဂရမ်းကျွမ်းကျင်မှုပိုမိုလေ့လာလိုပါကဆက်သွယ်ပြောဆိုရန်လွတ်လပ်စွာပြောဆိုပါ။