PHP တွင် array_diff () function သည် array နှစ်ခုကိုနှိုင်းယှဉ်ရန်နှင့်ပထမခင်းကျင်းမှုအားလုံးပါ 0 င်သော array များပါ 0 င်သော array များပါ 0 င်သည်။ ဤလုပ်ဆောင်ချက်သည်ရိုးရှင်းပါသည်, သို့သော်အသုံးပြုသောအခါ, သင်က debugging ပြ problems နာအချို့ကိုကြုံတွေ့ရလိမ့်မည်။ နောက်တစ်ခုက array_diff () function ကိုဘယ်လို debug လုပ်မလဲ,
array_diff () function ကို၏အခြေခံ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_diff(array $array1, array ...$arrays): array
$ array1 သည် Benchmark Array ဖြစ်ပြီးအခြား array များနှင့်သင်နှိုင်းယှဉ်ချင်သော array တစ်ခုဖြစ်သည်။
$ Arrays သည်အခြား array များ, သင်နှိုင်းယှဉ်ချင်သော array များ, array များစွာဖြစ်နိုင်သည်။
ဥပမာအားဖြင့်, အောက်ပါ array နှစ်ခုရှိသည်ဆိုပါစို့ဆိုပါစို့:
$array1 = [1, 2, 3, 4, 5];
$array2 = [2, 3, 6];
Array1 တွင် element များကိုရှာဖွေရန်ကျွန်ုပ်တို့ array_diff () ကို သုံးနိုင်သည်။ သို့သော် array2 တွင်မပါ 0 င်ပါ။
$result = array_diff($array1, $array2);
print_r($result);
output ရလဒ်ဖြစ်လိမ့်မည်:
Array
(
[0] => 1
[3] => 4
[4] => 5
)
ဆိုလိုသည်မှာ 1, 4 နှင့် 5 သည် array1 တွင်တည်ရှိခဲ့သောဒြပ်စင်များဖြစ်ကြောင်းဆိုလိုသည် ။
အကယ်. သင်ကြုံတွေ့ရပါကရလဒ်ကိုသင်ကြုံတွေ့ရပါက array_diff () သည် မျှော်လင့်ချက်များနှင့်မကိုက်ညီပါကအကြောင်းပြချက်များစွာရှိနိုင်သည်။
Array_diff () သည် ဒြပ်စင်၏တန်ဖိုးကို အခြေခံ. နှိုင်းယှဉ်သည်။ အကယ်. Array element အမျိုးအစားများသည်ကွဲပြားခြားနားသည်ဆိုပါက၎င်းတို့၏တန်ဖိုးများသည်အတူတူပင်လျှင်ပင်နှိုင်းယှဉ်လျှင်နှိုင်းယှဉ်မှုကိုမျှော်လင့်ချက်များနှင့်မကိုက်ညီပါစေနိုင်သည်။
ဥပမာအားဖြင့်:
$array1 = [1, 2, 3];
$array2 = ['1', '2', '3'];
$result = array_diff($array1, $array2);
print_r($result);
output ရလဒ် -
Array
(
[0] => 1
[1] => 2
[2] => 3
)
တန်ဖိုးသည်အတူတူပင်ဖြစ်သော်လည်း array_diff () သည် array 1 တွင် နံပါတ် 1, 2, 3 သည် strings 2, '2' နှင့်တန်းတူမဟုတ်ကြောင်းစဉ်းစားလိမ့်မည်။ ဤပြ problem နာကိုဖြေရှင်းရန် Array ရှိ Element များသည်တသမတ်တည်းဖြစ်ကြောင်းသေချာအောင်လုပ်နိုင်သည်သို့မဟုတ်နှိုင်းယှဉ်ခြင်းမပြုမီတူညီသောအမျိုးအစားသို့ပြောင်းလဲနိုင်သည်။
array_diff () ရည်ညွှန်းခင်းကျင်းအတွင်းသော့အမည်များကိုဆက်လက်ထိန်းသိမ်းထားပါ။ သော့ချက်အမည်များကိုသင်လျစ်လျူရှုရန်လိုအပ်ပါက array ကိုပြန်လည်အညွှန်းကိန်းသို့ array_values () function ကိုသုံးနိုင်သည်။
$array1 = [1 => 1, 2 => 2, 3 => 3];
$array2 = [1 => 1, 2 => 2];
$result = array_diff(array_values($array1), array_values($array2));
print_r($result);
ဤသည်ကွဲပြားခြားနားသောသော့အမည်များကြောင့်ကွဲပြားခြားနားမှုကိုရှောင်ကြဉ်လိမ့်မည်။
Debugging လုပ်သည့်အခါ၎င်းတို့ဖွဲ့စည်းပုံနှင့်အချက်အလက်များမှန်ကန်မှုရှိစေရန် Array ၏ contents များကိုသင်ပထမဆုံးထုတ်လွှင့်နိုင်သည်။ Array ၏အသေးစိတ်ကိုကြည့်ရှုရန် Print_r () သို့မဟုတ် var_dump () functions များကိုသုံးနိုင်သည်။
print_r($array1);
print_r($array2);
အခြားအချက်အလက်အမျိုးအစားများမဟုတ်ဘဲ Array များနှင့်နှိုင်းယှဉ်နေသည်ကိုသေချာအောင်လုပ်ပါ။ အကယ်. သင်သည်အခြား variable တစ်ခုကိုမှားယွင်းစွာဖြတ်သန်းသွားပါက array_diff () သည် မမှန်ကန်ကြောင်းရရှိလိမ့်မည်။ variable အမျိုးအစားကိုစစ်ဆေးရန်သင် is_array () ကို သုံးနိုင်သည်။
if (!is_array($array1) || !is_array($array2)) {
echo "variable တစ်ခုထဲကတစ်ခုသည်ခင်းကျင်းခြင်းမဟုတ်ပါ!";
}
အကယ်. သင်သည်ခင်းကျင်းကွဲပြားခြားနားမှုများကိုပိုမိုအလိုလိုသိလိုပါကသင်နှစ်ခု array နှစ်ခုနှင့်၎င်းတို့၏ကွဲပြားခြားနားမှုများထွက်ပေါ်လာနိုင်ပါတယ်။ ဥပမာအားဖြင့်:
foreach ($array1 as $key => $value) {
if (!in_array($value, $array2)) {
echo "တည်နေ array1 အတွက် element တွေကိုရှာပါ $value, 但不တည်နေ array2 အလယ်ပိုင်း。\n";
}
}
၎င်းသည်ခြားနားချက်တစ်ခုစီသည်အဘယ်အရာကိုနားလည်သဘောပေါက်ခြင်းနှင့်သင့်အားပိုမိုကောင်းမွန်သော Debug ကိုကူညီရန်ကူညီလိမ့်မည်။
သင့်စီမံကိန်းတွင်အောက်ပါကုဒ်ရှိသည်ဆိုပါစို့။
$array1 = ['apple', 'banana', 'cherry'];
$array2 = ['apple', 'grape', 'banana'];
$result = array_diff($array1, $array2);
print_r($result);
output ရလဒ် -
Array
(
[2] => cherry
)
ဤဥပမာတွင်ပြန်လာခြင်းသည် ချယ်ရီ ဖြစ်သည်။ အခြားအလားအလာရှိသောကွဲပြားခြားနားမှုများကိုသင်စစ်ဆေးချင်ပေမည်။ ပိုမိုကောင်းမွန်သော debugging အတွက်, arry နှစ်ခုကိုပုံနှိပ်ထုတ်လွှင့်ပြီး element တစ်ခုစီမှန်ကန်ကြောင်းစစ်ဆေးနိုင်သည်။ ဥပမာအားဖြင့်:
print_r($array1);
print_r($array2);
ဤနည်းအားဖြင့်ဒြပ်စင်တစ်ခုစီ၏တန်ဖိုးကိုသင်ရှင်းရှင်းလင်းလင်းမြင်နိုင်ပြီးခြားနားချက်သည်မတိုက်ဆိုင်မှုသို့မဟုတ်အခြားအကြောင်းပြချက်များကြောင့်ဖြစ်သည်ကိုအတည်ပြုနိုင်သည်။
array_diff () function ကို debging လုပ်သည့်အခါသော့သည်၎င်း၏အပြုအမူကိုနားလည်ရန်ဖြစ်သည်, အထူးသဖြင့်အမျိုးအစားနှင့်အဓိကအမည်များအရ၎င်း၏အပြုအမူကိုနားလည်ရန်ဖြစ်သည်။ ခင်းကျင်းမှု၏ဖွဲ့စည်းပုံနှင့်ဒေတာအမျိုးအစားကိုဂရုတစိုက်ဆန်းစစ်ခြင်းအားဖြင့်, ကွဲပြားခြားနားသောခြားနားချက်တစ်ခုစီကိုကိုယ်တိုင်ထုတ်ယူခြင်းဖြင့်ပြ problems နာများကိုဖြေရှင်းနိုင်ရန်နှင့်၎င်းတို့ကိုဖြေရှင်းနိုင်သည်။ Array_Diff () မှရရှိသောရလဒ်သည်မျှော်လင့်ထားသည့်အတိုင်းရရှိထားကြောင်းသင်တွေ့ရှိပါကလျှို့ဝှက်အမျိုးအစားကွဲပြားမှုသို့မဟုတ်အခြားယုတ္တိအမှားများမရှိသေးကြောင်းသေချာစေရန် array ရှိဒေတာများကိုပြန်လည်သုံးသပ်ရန်လိုကောင်းလိုပေမည်။