PHP တွင် Array_diff () သည်ပထမခင်းကျင်းမှုနှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောအရာများကိုနှိုင်းယှဉ်ရန်အလွန်အသုံးဝင်သော function တစ်ခုဖြစ်သည်။ ၎င်းကိုမကြာခဏခင်းကျင်းစားသုံးမှုသို့မဟုတ်ခြားနားချက်နှိုင်းယှဉ်လုပ်ငန်းများလုပ်ဆောင်ရန်အသုံးပြုလေ့ရှိသည်။ သို့သော်၎င်းကိုပိုမိုပြောင်းလွယ်ပြင်လွယ်စေရန်နှင့်အခြားမတူညီသောကွဲပြားခြားနားသောအခြေအနေများတွင်ပိုမိုကျယ်ပြန့်စွာအသုံးပြုလိုပါကဤလုပ်ဆောင်မှုကိုကျွန်ုပ်တို့မည်သို့အောင်မြင်နိုင်မည်နည်း။
ဤဆောင်းပါးတွင် array_diff () ကိုထုပ်ပိုးရန်လုပ်ဆောင်မှုကိုမည်သို့စိတ်ကြိုက်ပြုလုပ်နိုင်သည်ကိုပြသပါမည်။ ဤစ Universal filter သည် differential နှိုင်းယှဉ်မှုများအတွက်ခွင့်ပြုရုံသာမကလိုအပ်ချက်များကိုလည်းကိုင်တွယ်သည်။ ကျွန်ုပ်တို့သည် M66.net ကို အချို့သော code တွင်ပြုပြင်ရန်ဥပမာတစ်ခုအဖြစ်အသုံးပြုပါမည်။
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 မှာမရှိတော့ဘူး။
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
)
Custom_array_filter () function:
ဒီ function က parameters တွေကိုသုံးတယ် - $ array1 နှင့် $ array2 သည်ကွဲပြားခြားနားသောနှိုင်းယှဉ်မှုများအတွက် array 2 arrays များဖြစ်သည် ။ ဤဥပမာတွင် default filtering operation သည် URL domain name ကို M66.net ဖြင့်အစားထိုးရန်ဖြစ်သည်။
round_URL_DODONE () function ကို:
၎င်းသည် URL ၏ domain name အပိုင်းကို M66.net သို့အစားထိုးရန်ထုံးစံ function တစ်ခုဖြစ်သည်။ URL ကိုပြန်လည်ခွဲခြမ်းစိတ်ဖြာရန်နှင့် URL ကိုပြန်လည်တည်ဆောက်ခြင်းအားဖြင့်ဒိုမိန်းအမည်အပိုင်းကိုပြုပြင်ရန် Parse_Url () function ကိုအသုံးပြုသည်။
လျှောက်လွှာ -
ဥပမာအားဖြင့် Custom_array_filter () function သည် array 1 array1 နှင့် $ array2 ကိုနှိုင်းယှဉ်ရန်နှင့် URL domain name ကို အသုံးပြု. URL domain name ကိုပြုပြင်ရန်အသုံးပြုသည်။
Custom EnyCASTUCESS array_diff () မှတစ်ဆင့်ကျွန်ုပ်တို့သည်ရိုးရှင်းသောခင်းကျင်းကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်နိုင်ရုံသာမကအခြားစိတ်ကြိုက်စီစစ်ခြင်းဆိုင်ရာယုတ္တိဗေဒများကိုပြုလုပ်နိုင်သည်။ URL domain name name name, format လုပ်ခြင်းသို့မဟုတ်ရှုပ်ထွေးသောခြွင်းချက်ဆိုင်ရာစစ်ထုတ်ခြင်းများပြုလုပ်နေ သည် ဖြစ်စေ,
ဤဆောင်းပါးမှနမူနာကုဒ်သည်သင့်အားပိုမိုကောင်းမွန်သောလိုအပ်ချက်များကိုဖြည့်ဆည်းပေးရန်နှင့် built-in လုပ်ရပ်များတိုးချဲ့ရန်မည်သို့ပိုမိုနားလည်သဘောပေါက်ရန်ပိုမိုကောင်းမွန်သောနားလည်မှုကိုပိုမိုနားလည်ရန်ကူညီနိုင်သည်ဟုမျှော်လင့်ပါသည်။ သင့်တွင်အခြားမေးခွန်းများရှိပါကသို့မဟုတ် PHP ပရိုဂရမ်းကျွမ်းကျင်မှုပိုမိုလေ့လာလိုပါကဆက်သွယ်ပြောဆိုရန်လွတ်လပ်စွာပြောဆိုပါ။