Web Development တွင်အသုံးပြုသူများသည်ပုံစံများကိုတင်ပြသည့်အခါ၎င်းတို့ကိုမကြာခဏအသုံးပြုသူအချက်အလက်များကိုပြုပြင်မွမ်းမံခြင်း၏မြင်ကွင်းတွင်မူရင်းဒေတာများကိုမူရင်းဒေတာနှင့်နှိုင်းယှဉ်ရန်လိုသည်။ ဥပမာအားဖြင့်အသုံးပြုသူသည်သူ၏ကိုယ်ရေးကိုယ်တာအချက်အလက်များကိုပြုပြင်မွမ်းမံပြီးမည်သည့်နယ်ပယ်များကိုပြုပြင်ပြောင်းလဲလိုသည်။ PHP မှပေးသော array_diff_assoc () function သည်ဤလုပ်ငန်းကိုအလွယ်တကူဖြည့်စွက်ရန်ကျွန်ုပ်တို့ကိုကူညီနိုင်သည်။ ယနေ့ကျွန်ုပ်တို့သည်လက်တွေ့ကျသောအမှုအားဖြင့်ပုံစံရှိပြုပြင်ထားသောနယ်ပယ်များကိုရှာဖွေရန်ဤလုပ်ဆောင်မှုကိုမည်သို့အသုံးပြုရမည်ကိုလေ့လာပါမည်။
အဓိကအမည်များနှင့်အဓိကတန်ဖိုးများကိုနှိုင်းယှဉ်ခြင်းအပေါ် အခြေခံ. arraiff_diff_soc () function ကိုတွက်ချက်ရန်အသုံးပြုသည်။ ၎င်းသည်ပထမဆုံးခင်းကျင်းမှုတွင်ပါရှိသောဒြပ်စင်တစ်ခုသို့ပြန်ရောက်သော်လည်းဒုတိယခင်းကျင်းတွင်မဟုတ်ပါ။ သတိပြုသင့်သည်မှာ၎င်းသည်ခင်းကျင်းမှု၏တန်ဖိုးများကိုနှိုင်းယှဉ်ရုံသာမကခင်းကျင်း၏အဓိကအမည်များကိုနှိုင်းယှဉ်သည်။ ထို့ကြောင့် Array_Diff ထက် ပို. တင်းကြပ်သည်။
function ရှေ့ပြေးပုံစံ:
<span><span><span class="hljs-title function_ invoke__">array_diff_assoc</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$array2</span></span><span>): </span><span><span class="hljs-keyword">array</span></span><span>
</span></span>
$ array1 : ပထမ ဦး ဆုံးခင်းကျင်း။
$ array2 : ဒုတိယခင်းကျင်း။
ပြန်လာတန်ဖိုး - $ array2 နှင့်ကွဲပြားခြားနားသော $ array1 ရှိ elements အားလုံးပါဝင်သောခင်းကျင်း။
အသုံးပြုသူများသည်သတင်းအချက်အလက်များကိုပြုပြင်မွမ်းမံသည့်ပုံစံနှင့်အသုံးပြုသူမှတင်ပြသောအချက်အလက်များတွင်အမည်, အီးမေးလ်, ဖုန်းနံပါတ်စသည့်နယ်ပယ်များပါ 0 င်သည်။
ပထမ ဦး စွာသုံးစွဲသူရဲ့မူလဒေတာများနှင့်သုံးစွဲသူ၏တင်သွင်းထားသောအချက်အလက်များပါ 0 င်သောခင်းကျင်းမှုတစ်ခုစီကိုသတ်မှတ်ပါ။
<span><span><span class="hljs-comment">// ဒီဟာကိုဒေတာဘေ့စ်မှာသိမ်းထားတဲ့မူလအသုံးပြုသူအချက်အလက်လို့ယူဆတယ်</span></span><span>
</span><span><span class="hljs-variable">$original_data</span></span><span> = [
</span><span><span class="hljs-string">'name'</span></span><span> => </span><span><span class="hljs-string">'John Doe'</span></span><span>,
</span><span><span class="hljs-string">'email'</span></span><span> => </span><span><span class="hljs-string">'[email protected]'</span></span><span>,
</span><span><span class="hljs-string">'phone'</span></span><span> => </span><span><span class="hljs-string">'123-456-7890'</span></span><span>
];
</span><span><span class="hljs-comment">// ဤသည်ကိုအသုံးပြုသူမှတင်သွင်းသောပြုပြင်ထားသောပုံစံဒေတာဖြစ်ပါတယ်ယူဆ</span></span><span>
</span><span><span class="hljs-variable">$submitted_data</span></span><span> = [
</span><span><span class="hljs-string">'name'</span></span><span> => </span><span><span class="hljs-string">'John Doe'</span></span><span>, </span><span><span class="hljs-comment">// နာမည်ကိုမပြောင်းလဲဘူး</span></span><span>
</span><span><span class="hljs-string">'email'</span></span><span> => </span><span><span class="hljs-string">'[email protected]'</span></span><span>, </span><span><span class="hljs-comment">// အီးမေးလ်လိပ်စာကိုပြောင်းထားသည်</span></span><span>
</span><span><span class="hljs-string">'phone'</span></span><span> => </span><span><span class="hljs-string">'123-456-7890'</span></span><span> </span><span><span class="hljs-comment">// ဖုန်းနံပါတ်ကို ပြောင်းလဲ. မရပါ</span></span><span>
];
</span></span>
ထို့နောက် array_diff_assoC () ကို သုံး. မည်သည့်နယ်ပယ်များကိုပြင်ဆင်ရန်အချက်အလက်များကိုရှာဖွေရန်အချက်အလက်များကိုတင်ပြရန် array_diff_Assoc () ကိုသုံးပါ။
<span><span><span class="hljs-comment">// အသုံးပြု array_diff_assoc ပြုပြင်ထားသောလယ်ကွက်များကိုရှာပါ</span></span><span>
</span><span><span class="hljs-variable">$changed_fields</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_diff_assoc</span></span><span>(</span><span><span class="hljs-variable">$submitted_data</span></span><span>, </span><span><span class="hljs-variable">$original_data</span></span><span>);
</span><span><span class="hljs-comment">// output ကိုပြုပြင်မွမ်းမံလယ်ကွင်း</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$changed_fields</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"ပြုပြင်ထားသောလယ်ကွင်းများမှာ:\n"</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$changed_fields</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$key</span></span><span> => </span><span><span class="hljs-variable">$value</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$key</span></span></span><span>: </span><span><span class="hljs-subst">$value</span></span><span>\n";
}
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အဘယ်သူမျှမလယ်ကွင်းပြုပြင်မွမ်းမံနေကြသည်。\n"</span></span><span>;
}
</span></span>
<span><span>ပြုပြင်ထားသောလယ်ကွင်းများမှာ:
</span><span><span class="hljs-symbol">email</span></span><span><span class="hljs-punctuation">:</span></span><span> john.doe</span><span><span class="hljs-meta">@newdomain</span></span><span>.com
</span></span>
ဤဥပမာတွင် array_diff_assoc () သည် subbitted_Data နှင့် မူရင်း origer_data arry တို့၏သော့များနှင့်တန်ဖိုးများကိုနှိုင်းယှဉ်ထားသည်။
အမည်နှင့်ဖုန်းနံပါတ်ကိုမပြောင်းလဲဘဲ စာတိုက် ပုံးကိုသာကွဲပြားခြားနားသည်ဟုမှတ်ယူသည်။
ပြုပြင်ထားသောနယ်ပယ်များကိုရှာဖွေခြင်းအပြင်အသုံးပြုသူသည်ပုံစံတွင်ပြုပြင်မွမ်းမံထားသည့်ပုံစံကိုတင်ပြခြင်းရှိမရှိကိုလည်းသိလိုသည်ဆိုပါစို့။ အချို့သောကွက်လပ်များသည်မူလအချက်အလက်များတွင်မတည်ရှိပါကတင်ပြထားသောအချက်အလက်များတွင် မူတည်. ၎င်းကို array_diff_assoc () နှင့် array_diff_key ()) ပေါင်းစပ်ခြင်းဖြင့်ဆုံးဖြတ်နိုင်သည်။
<span><span><span class="hljs-comment">// အသုံးပြု array_diff_key အသုံးပြုသူသည်ကွက်လပ်အသစ်တင်သွင်းမရှိမရှိရှာဖွေရန်</span></span><span>
</span><span><span class="hljs-variable">$new_fields</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_diff_key</span></span><span>(</span><span><span class="hljs-variable">$submitted_data</span></span><span>, </span><span><span class="hljs-variable">$original_data</span></span><span>);
</span><span><span class="hljs-keyword">if</span></span><span> (!</span><span><span class="hljs-keyword">empty</span></span><span>(</span><span><span class="hljs-variable">$new_fields</span></span><span>)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"အသစ်သောလယ်ကွင်းတင်သွင်း:\n"</span></span><span>;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$new_fields</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$key</span></span><span> => </span><span><span class="hljs-variable">$value</span></span><span>) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"<span class="hljs-subst">$key</span></span></span><span>: </span><span><span class="hljs-subst">$value</span></span><span>\n";
}
}
</span></span>
array_diff_assoc () သည်အသုံးပြုသူမှတင်ပြသောပုံစံတွင်မည်သည့်ကွက်လပ်များကိုရှာဖွေတွေ့ရှိနိုင်သည့် Fields ကိုအလွယ်တကူရှာဖွေတွေ့ရှိနိုင်သည့်အတွက်အလွန်လက်တွေ့ကျသောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ အမှန်တကယ်ဖွံ့ဖြိုးတိုးတက်မှုတွင်ဤလုပ်ဆောင်မှုသည်ကျွန်ုပ်တို့အားတိကျစွာခြေရာခံနိုင်ရန်အတွက်အသုံးပြုသူအချက်အလက်ပြုပြင်မွမ်းမံခြင်းနှင့်အမှာစာပြုပြင်ခြင်းကဲ့သို့သောဖြစ်ရပ်များတွင်အသုံးပြုလေ့ရှိသည်။
အထက်ပါဥပမာများနှင့်အတူကုန်ကြမ်းဒေတာနှင့်နှိုင်းယှဉ်ထားသောဒေတာနှင့်နှိုင်းယှဉ်ထားသောဒေတာနှင့်နှိုင်းယှဉ်ခြင်း၏ function ကိုသင်လျင်မြန်စွာအကောင်အထည်ဖော်နိုင်သည်။