PHP ၏နေ့စဉ်ဖွံ့ဖြိုးတိုးတက်မှုတွင် array_diff () function ကိုမကြာခဏလုပ်ဆောင်ရန်အတွက်ကွဲပြားခြားနားသောလုပ်ငန်းများလုပ်ဆောင်ရန်အသုံးပြုသည်။ ၎င်းသည်ခင်းကျင်းမှုတစ်ခုတွင်တည်ရှိခဲ့သောတန်ဖိုးများကိုရှာဖွေရန်ကူညီနိုင်သည်။ ၎င်းသည်ဒေတာစီစစ်ခြင်းနှင့်ခွင့်ပြုချက်ထိန်းချုပ်မှုစသည့်အခြေအနေများကိုကိုင်တွယ်ရာတွင်အလွန်လက်တွေ့ကျသည်။
သို့သော်မကြာခဏဆိုသလိုလျစ်လျူရှုထားသောမေးခွန်းတစ်ခုမှာ ရလဒ်ကိုပြန်လာသည့်အခါမူရင်းခင်း ကျင်း မှု၏သော့ချက်အမည်ကိုဆက်လက်ထိန်းသိမ်းထားမည်လား။ သို့မဟုတ် array ကိုအလိုအလျောက် reindex ကိုအလိုအလျောက်ရလိမ့်မည်နည်း
ရိုးရှင်းတဲ့ဥပမာတစ်ခုကိုကြည့်ရအောင်။
<?php
$array1 = ["a" => "green", "b" => "brown", "c" => "blue", "red"];
$array2 = ["green", "yellow", "red"];
$result = array_diff($array1, $array2);
print_r($result);
?>
output ရလဒ် -
Array
(
[b] => brown
[c] => blue
)
သင်မြင်နိုင်သည့်အတိုင်းရလဒ်ကို array_diff () ပြန်လာသည့်ရလဒ်ကို မူရင်းခင်းကျင်းရေး array1 ၏အဓိကအမည်ကိုဆက်လက်ထိန်းသိမ်းထားသည် ။ ကြိုးသော့ကိုပင် reindexed မဟုတ်ပါ။
ရလဒ်ခင်းကျင်းမှုကိုသင်အမှန်တကယ်ပြန်လည်ညွှန်းလိုပါကသင် array_values () ကို ကိုယ်တိုင်သုံးနိုင်သည်။
$reindexed = array_values(array_diff($array1, $array2));
print_r($reindexed);
ထုတ်လုပ်မှု -
Array
(
[0] => brown
[1] => blue
)
ဤကိစ္စတွင်သော့ချက်အမည်မှာ 0 မှ စ. အဆက်မပြတ်နံပါတ်အညွှန်းကိန်းသို့ပြန်လည်သတ်မှတ်ထားသည်။
အသုံးပြုသူသည် tags အစုတခုကိုတင်ပြထားပြီး system default tag တွင်ရှိပြီးသားအကြောင်းအရာများကိုဖယ်ရှားလိုပါက
<?php
$userTags = [
10 => "php",
11 => "html",
12 => "custom"
];
$defaultTags = ["php", "html", "css", "javascript"];
$finalTags = array_diff($userTags, $defaultTags);
print_r($finalTags);
?>
ရလဒ်ရလဒ် -
Array
(
[12] => custom
)
ဤအချက်ကမူလုပ်ဆောင်ချက်သည်အသုံးပြုသူ၏မူလခင်းကျင်းမှု၏အဓိကအကြောင်းကိုဆက်လက်ထိန်းသိမ်းထားသည်။
Array_diff () သည် တန်ဖိုးများကို သာတန်ဖိုးထားမှုများကိုသာနှိုင်းယှဉ်ထားသည်။
ကီးအမည်များကို အခြေခံ. နှိုင်းယှဉ်ချင်လျှင် array_diff_key () ကို သုံးနိုင်သည်။
ကီးအမည်များနှင့်တန်ဖိုးများကိုတစ်ချိန်တည်းနှိုင်းယှဉ်လိုပါက array_diff_assoc () ကို သုံးနိုင်သည်။