ဒေတာသန့်ရှင်းရေးပြုလုပ်ခြင်းသည်ဒေတာခွဲခြမ်းစိတ်ဖြာခြင်းနှင့်ပြုပြင်ခြင်း၏အရေးကြီးသောအပိုင်းဖြစ်ပြီး၎င်းအချက်အလက်များတွင်ရှေ့နောက်မညီမှုများ, အမှားအယွင်းများသို့မဟုတ်မိတ္တူပွားများကိုဖယ်ရှားရန်ရည်ရွယ်သည်။ PHP တွင်အချက်အလက်သန့်ရှင်းရေးကိုအကောင်အထည်ဖော်ရန်ကျွန်ုပ်တို့အားကူညီနိုင်သည့်လုပ်ဆောင်ချက်များစွာရှိသည်။ ယနေ့ကျွန်ုပ်တို့သည် array_diff_soc () နှင့် array_filter () နှင့် array_filter ()) ကိုအာရုံစိုက်မည်။
Array_Diff_AssoC () function ကိုနှစ်ခုထက်ပိုသော array များအကြားကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ရန်အသုံးပြုသည်။ array_diff () , array_diff_assoc () ကိုမတူဘဲ array ရှိသော့ချက်အမည်များကိုထည့်သွင်းစဉ်းစားသည် (အဓိကအမည်များသည်နှိုင်းယှဉ်လျှင်ပါ 0 င်မည်) ။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_diff_assoc(array $array1, array $array2, array ...$arrays): array
ငါတို့မှာ array နှစ်ခုရှိတယ်ဆိုပါစို့။ ပထမခင်းကျင်းမှာရှိတဲ့ array မှာရှိနေတဲ့ဒြပ်စင်တွေကိုရှာချင်ပေမယ့်ဒုတိယခင်းကျင်းမှာမဟုတ်ဘူး။
$array1 = [
"a" => 1,
"b" => 2,
"c" => 3
];
$array2 = [
"a" => 1,
"b" => 3,
"d" => 4
];
$result = array_diff_assoc($array1, $array2);
print_r($result);
ရလဒ်ရလဒ် -
Array
(
[b] => 2
[c] => 3
)
ဤဥပမာတွင် array_diff_assoc () သည် Arrays $ array1 နှင့် $ array2 ကိုနှိုင်းယှဉ်ပြီး elements များကိုကွဲပြားခြားနားသောအမည်များနှင့်တန်ဖိုးများဖြင့်ပြန်ပို့သည်။ ဤဥပမာတွင်ဒြပ်စင်များ ဖြစ်သော B "=> 2 နှင့် " C "= >> 3 >> 3 array 1 array 1 တွင် array array 2 တွင်မပါ 0 င်ပါ။
ဒေတာအချို့ကိုသန့်ရှင်းရေးလုပ်ရန်လိုအပ်သည့်အခါ array_diff_assoc () သည် ဒေတာအရင်းအမြစ်များတွင်ရှိသည့်အချက်အလက်အချို့ကိုရှာဖွေရန်အထောက်အကူပြုနိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့တွင်အချက်အလက်အရင်းအမြစ်နှစ်ခုရှိသည်ဟုဆိုပါစို့ array1 သည် ကျွန်ုပ်တို့၏လက်ရှိဒေတာဘေ့စ်မှတ်တမ်းကိုကိုယ်စားပြုသည်။ ကျွန်ုပ်တို့သည်လက်ရှိဒေတာနှင့်မကိုက်ညီသောမှတ်တမ်းများကိုရှာဖွေရန် array_diff_assoc () ကိုသုံးနိုင်သည်။
အဆိုပါ array_filter () function ကိုသတ်မှတ်ထားသောအခြေအနေများနှင့်ကိုက်ညီသော array နှင့်ပြန်ပို့သောဒြပ်စင်များတွင် filter များအတွက်အသုံးပြုသည်။ ၎င်း၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
array_filter(array $array, callable $callback = null, int $mode = 0): array
$ array : filter သို့ array ။
$ callback : element တစ်ခုစီသည်အခြေအနေနှင့်ကိုက်ညီမှုရှိမရှိဆုံးဖြတ်ရန်အသုံးပြုသော callback function ကိုအသုံးပြုသည်။ အကယ်. callback function ကို ပြန်လည်ရောက်ရှိ ပါက Element ကိုရလဒ်ခင်းကျင်းမှုတွင်ထိန်းသိမ်းထားလိမ့်မည်။
$ Mode : Array တွင်အဓိကအမည်များကိုမည်သို့ကိုင်တွယ်ရမည်ကိုဆုံးဖြတ်သည်။ ပုံသေတန်ဖိုးသည် 0 ဖြစ်သည်။ ဆိုလိုသည်မှာသော့ချက်အမည်မပြောင်းလဲဟုဆိုလိုသည်။
ကျွန်ုပ်တို့တွင်နံပါတ်များစွာဖြင့်ခင်းကျင်းမှုတစ်ခုရှိပြီး၎င်းကိုကျွန်ုပ်တို့မှသုညတန်ဖိုးကိုဖယ်ရှားလိုကြသည်ဆိုပါစို့။
$array = [1, 0, 2, 3, 0, 4];
$result = array_filter($array, function($value) {
return $value !== 0;
});
print_r($result);
ရလဒ်ရလဒ် -
Array
(
[0] => 1
[2] => 2
[3] => 3
[5] => 4
)
ဤဥပမာတွင် array_filter () သည် element အားလုံးကို array မှ 0 ကို 0 ၏တန်ဖိုးနှင့်အတူဖယ်ရှားပေးသည်။ ရလဒ်များသည်တန်ဖိုးမရှိတော့ပါ။
array_filter () သည်ဒေတာသန့်ရှင်းရေးအတွက်အထူးသဖြင့် Null, Zero သို့မဟုတ်လိုက်နာမှုမရှိသောအသုံးအနှုန်းများအတွက်အထူးသဖြင့်သင့်တော်သည်။ ဥပမာအားဖြင့်, ကျွန်ုပ်တို့သည်အချို့သောနယ်ပယ်များအချည်းနှီးဖြစ်သောအသုံးပြုသူတင်သွင်းသည့်ပုံစံမှအချက်အလက်အချို့ကိုစုဆောင်းထားသည့်အချက်အလက်အချို့ကိုစုဆောင်း ထား. array_filter () သည် ဤမမှန်ကန်သောအချက်အလက်များကိုဖယ်ရှားရန်ကူညီနိုင်သည်ဆိုပါစို့။
Array_diff_assoc () နှင့် array_filter () နှင့် array_filter () ကိုနှစ်ခုစလုံးတွင်အသုံးပြုသည်။ နှစ် ဦး စလုံးသည် array လုပ်ခြင်းအတွက်အသုံးပြုသည်။
အလုပ်လုပ်တဲ့ကွဲပြားခြားနားမှုများ
array_diff_assoc () ကိုအဓိကအားဖြင့်နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသော arrays များကိုနှိုင်းယှဉ်ရန်နှင့်နှိုင်းယှဉ်ရန်အဓိကအားဖြင့်၎င်းတို့၏ကွဲပြားခြားနားမှုများ,
array_filter () ကို သတ်မှတ်ထားသောအခြေအနေများအပေါ် အခြေခံ. element များကို array တစ်ခုတွင် filter လုပ်ရန်အသုံးပြုသည်။ အခြေအနေများနှင့်မကိုက်ညီသောပစ္စည်းများကိုဖျက်ပစ်သည်။
လျှောက်လွှာအခြေအနေများ :
array_diff_assoc () သည်ကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ခြင်းနှင့်ရှာဖွေခြင်းကိုနှိုင်းယှဉ်ခြင်းအတွက်ပိုမိုသင့်တော်သည်။
Array_Filter () သည်ဒေတာစီစစ်ခြင်းအတွက်ပိုမိုသင့်တော်သည်။
callback function ကို :
array_filter () သည် စီရန်စည်းမျဉ်းများကို filtering rules များကိုသတ်မှတ်ရန်အတွက် 0 င်ရောက်လာသော callback functack ကိုခွင့်ပြုသည်။ array_diff_assoc () သည် callback function များကိုမထောက်ပံ့ပါ။
Array key names ၏ processing :
Array_diff_assoC () သည် ခင်းကျင်းမှု၏သော့နှင့်သက်ဆိုင်ရာတန်ဖိုးကိုထည့်သွင်းစဉ်းစားလိမ့်မည်။
array_filter () မူရင်းခင်းကျင်းမှု၏သော့ကိုမူလစာမျက်နှာအမည်ကိုပုံမှန်ရယူရမည်။ သို့သော် $ mode parameter သည်သော့ချက်အမည်ကိုပြန်လည်တည်ဆောက်ရန်ရှိမရှိကိုထိန်းချုပ်ရန်အသုံးပြုနိုင်သည်။
ကျွန်ုပ်တို့တွင်ထပ်တူအချက်အလက်များနှင့်မလိုချင်တဲ့ဒြပ်စင်များပါ 0 င်သည့် array နှစ်ခုရှိသည်ဆိုပါစို့။ အချက်အလက်သန့်ရှင်းရေးလုပ်ချင်သည်ဆိုပါစို့။
$array1 = [
"a" => 1,
"b" => 0,
"c" => 2
];
$array2 = [
"a" => 1,
"b" => 0,
"d" => 3
];
// အသုံးပြု array_diff_assoc() နှစ်ခု array နှိုင်းယှဉ်,ကိုက်ညီမှုဒြပ်စင်ကိုရှာပါ
$diff = array_diff_assoc($array1, $array2);
print_r($diff);
// အသုံးပြု array_filter() filter ကိုတန်ဖိုးသည် 0 ဒြပ်
$filtered = array_filter($array1, function($value) {
return $value !== 0;
});
print_r($filtered);
ရလဒ်ရလဒ် -
Array
(
[b] => 0
[c] => 2
)
Array
(
[a] => 1
[c] => 2
)
array_diff_assoc () နှင့် array_filter () ကို အသုံးပြုခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်အချက်အလက်များကိုထိထိရောက်ရောက်သန့်ရှင်းရေးပြုလုပ်နိုင်သည်။ array_diff_assoc () ကွဲပြားခြားနားမှုများအကြားကွဲပြားခြားနားမှုများအကြားကွဲပြားခြားနားမှုများနှင့်နှိုင်းယှဉ်ခြင်းအတွက်ပိုမိုသင့်တော်သည်။ array_filter () သည်အချို့သောအခြေအနေများနှင့်မမှန်ကန်သောပစ္စည်းများဖယ်ရှားခြင်းကဲ့သို့သောအခြေအနေများနှင့်မကိုက်ညီသောအချက်အလက်များကို filter လုပ်ရန်သင့်တော်သည်။
လက်တွေ့ကျသော application များတွင်မည်သည့်လုပ်ဆောင်ချက်သည်သင်၏သီးခြားလိုအပ်ချက်များပေါ်တွင်မူတည်သည်။ ၎င်းတို့၏ကွဲပြားခြားနားမှုများကိုနားလည်ခြင်းနှင့်ဤလုပ်ဆောင်မှုနှစ်ခုကိုမည်သို့အသုံးပြုရမည်ကိုကျွမ်းကျင်မှုကိုနားလည်ခြင်းသည်သင့်အားအချက်အလက်များကိုပိုမိုထိရောက်စွာဖြည့်ဆည်းပေးနိုင်ရန်ကူညီနိုင်သည်။