PHP တွင်အချက်အလက်များ, အထူးသဖြင့် array_intesect_ukey () ကို အသုံးပြု. အချက်အလက်များကိုအထူးသဖြင့် incray_intersect_ukey () ကို အသုံးပြု. ၎င်းတို့အကြားရှိအဓိကအမည်များနှင့်နှိုင်းယှဉ်ရန်အသုံးပြုသောအချက်အလက်များကိုအသုံးပြုသည်။ ဒီ function ကိုအသုံးပြုရန်အလွန်အဆင်ပြေသည်, သို့သော်ကျွန်ုပ်တို့သည်အဓိကအကြောင်းရင်းများမှာတူညီမှုရှိမရှိဆုံးဖြတ်ရန်စိတ်ကြိုက်နှိုင်းယှဉ်ချက်နည်းလမ်းကိုအသုံးပြုလိုပါက array_intesect_ukey () function သည်အတန်ငယ်ကန့်သတ်ချက်ဖြစ်လာလိမ့်မည်။ ထို့ကြောင့်သော့ချက်အမည်နှိုင်းယှဉ်ခြင်း function ကိုမည်သို့စိတ်ကြိုက်ပြုလုပ်နိုင်သည်ကိုကျွမ်းကျင်ပြီး array_intersect_ukey () ကိုအသုံးပြုရန်ကျွမ်းကျင်မှုကိုအသုံးပြုရမည်။
ပထမ ဦး စွာ array_intersect_ukey () ၏အခြေခံအသုံးပြုမှုကိုနားလည်ရန်အလွန်အရေးကြီးသည်။ ဤလုပ်ဆောင်ချက်၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -
<span><span><span class="hljs-title function_ invoke__">array_intersect_ukey</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">callable</span></span><span> </span><span><span class="hljs-variable">$key_compare_func</span></span><span>): </span><span><span class="hljs-keyword">array</span></span><span>
</span></span>
$ array1 နှင့် $ array2 : နှိုင်းယှဉ်ရန် arrys နှစ်ခု။
$ key_compare_funct : သော့ချက်အမည်နှစ်ခုကိုနှိုင်းယှဉ်သော callback function ကို။ အကယ်. ပြန်လာတန်ဖိုးသည် 0 ထက်မနည်းပါကပထမ ဦး ဆုံးသော့သည်ဒုတိယသော့ထက်သေးငယ်သည်။ အကယ်. ပြန်လာတန်ဖိုးသည် 0 ထက်ကြီးပါကပထမ ဦး ဆုံးသော့သည်ဒုတိယသော့ချက်ထက်ကြီးသည်။ 0 ပြန်လာလျှင်သော့ချက်နှစ်ခုသည်တန်းတူဖြစ်သည်။
ဥပမာအားဖြင့်, အောက်ပါကုဒ်သည် array_intersect_ukey () ၏အသုံးများကိုပြသသည်။
<span><span><span class="hljs-variable">$array1</span></span><span> = [</span><span><span class="hljs-string">'a'</span></span><span> => </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">'b'</span></span><span> => </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'c'</span></span><span> => </span><span><span class="hljs-number">3</span></span><span>];
</span><span><span class="hljs-variable">$array2</span></span><span> = [</span><span><span class="hljs-string">'b'</span></span><span> => </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-string">'c'</span></span><span> => </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-string">'d'</span></span><span> => </span><span><span class="hljs-number">6</span></span><span>];
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_intersect_ukey</span></span><span>(</span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-variable">$array2</span></span><span>, </span><span><span class="hljs-string">'strcasecmp'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span></span>
output ရလဒ် -
<span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[b] => </span><span><span class="hljs-number">2</span></span><span>
[c] => </span><span><span class="hljs-number">3</span></span><span>
)
</span></span>
ဤဥပမာတွင် stricasecmp ကို callback function တစ်ခုအဖြစ်အသုံးပြုသည်။ ၎င်းသည်သော့ချက်အမည်များနှင့်စပ်လျဉ်း။ အမှုနှင့်နောက်ဆုံးတွင် elements များနှင့်အတူတူပင် element များကိုပြန်ပို့သည်။
လက်တွေ့ကျသောအပလီကေးရှင်းများတွင်ကျွန်ုပ်တို့၏လိုအပ်ချက်များနှင့်အညီပိုမိုရှုပ်ထွေးသောနှိုင်းယှဉ်ခြင်း function ကိုဒီဇိုင်းဆွဲရန်လိုအပ်သည်။ PHP သည်ကျွန်ုပ်တို့အားစိတ်ကြိုက်နှိုင်းယှဉ်မှု function ကိုဖြတ်သန်းရန်ခွင့်ပြုသည်။
ဥပမာအားဖြင့်, ကျွန်ုပ်တို့ကသော့ချက်အမည်များကိုလေ့လာလိုပါကစာတစ်စောင်သာမကအထူးအက္ခရာများကို ဦး စားပေးရန်စဉ်းစားပါကကျွန်ုပ်တို့သည်၎င်းကိုအောင်မြင်ရန် function တစ်ခုကိုစိတ်ကြိုက်ပြုလုပ်နိုင်သည်။
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">custom_key_compare</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$key1</span></span></span><span>, </span><span><span class="hljs-variable">$key2</span></span><span>) {
</span><span><span class="hljs-comment">// စိတ်ကြိုက်နှိုင်းယှဉ်စျေးနှုန်း:သော့အမည်အထူးအက္ခရာများပါရှိသည်ဆိုပါက,ပိုမိုမြင့်မား ဦး စားပေး</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$key1</span></span><span>, </span><span><span class="hljs-string">'@'</span></span><span>) !== </span><span><span class="hljs-literal">false</span></span><span> && </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$key2</span></span><span>, </span><span><span class="hljs-string">'@'</span></span><span>) === </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> -</span><span><span class="hljs-number">1</span></span><span>; </span><span><span class="hljs-comment">// $key1 ရေှးဉီးကျမှု</span></span><span>
} </span><span><span class="hljs-keyword">elseif</span></span><span> (</span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$key2</span></span><span>, </span><span><span class="hljs-string">'@'</span></span><span>) !== </span><span><span class="hljs-literal">false</span></span><span> && </span><span><span class="hljs-title function_ invoke__">strpos</span></span><span>(</span><span><span class="hljs-variable">$key1</span></span><span>, </span><span><span class="hljs-string">'@'</span></span><span>) === </span><span><span class="hljs-literal">false</span></span><span>) {
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-number">1</span></span><span>; </span><span><span class="hljs-comment">// $key2 ရေှးဉီးကျမှု</span></span><span>
}
</span><span><span class="hljs-comment">// ပုံမှန်အားဖြင့်, အက္ခရာစဉ်အတိုင်းနှိုင်းယှဉ်</span></span><span>
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">strcmp</span></span><span>(</span><span><span class="hljs-variable">$key1</span></span><span>, </span><span><span class="hljs-variable">$key2</span></span><span>);
}
</span></span>
ဤဥပမာတွင် Custom_Key_Key_compare () function ကို ဦး စွာဆုံးဖြတ်သည် ။ တစ်ခုမှာပါ 0 င်ပါက @ ပါသောသော့အမည်မှာ ဦး စားပေးလိုအပ်သည်။ ဒီလိုမှမဟုတ်ရင်အက်ခရာနဲ့နှိုင်းယှဉ်ပါလိမ့်မယ်။
နောက်နာမည်နှိုင်းယှဉ်မှုကိုပြုလုပ်ရန် Custom_Key_Key_compare () function ကိုကျွန်ုပ်တို့ကျင့်သုံးနိုင်သည်။ ကျွန်ုပ်တို့တွင်အောက်ပါ array နှစ်ခုရှိသည်ဆိုပါစို့။
<span><span><span class="hljs-variable">$array1</span></span><span> = [</span><span><span class="hljs-string">'a'</span></span><span> => </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">'b@'</span></span><span> => </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'c'</span></span><span> => </span><span><span class="hljs-number">3</span></span><span>];
</span><span><span class="hljs-variable">$array2</span></span><span> = [</span><span><span class="hljs-string">'b'</span></span><span> => </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-string">'c'</span></span><span> => </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-string">'d'</span></span><span> => </span><span><span class="hljs-number">6</span></span><span>, </span><span><span class="hljs-string">'b@'</span></span><span> => </span><span><span class="hljs-number">7</span></span><span>];
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_intersect_ukey</span></span><span>(</span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-variable">$array2</span></span><span>, </span><span><span class="hljs-string">'custom_key_compare'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span></span>
output ရလဒ် -
<span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[b@] => </span><span><span class="hljs-number">2</span></span><span>
)
</span></span>
သင်မြင်နိုင်သည့်အတိုင်း array_intersect_ukey () သည် ကျွန်ုပ်တို့၏စိတ်ကြိုက်သော့အမည်နှိုင်းယှဉ်မှု function ကိုအရသိရသည် key name b @ ကိုအောင်မြင်စွာအသိအမှတ်ပြုသည် ။
သော့ချက်အမည်နှိုင်းယှဉ်မှု function ကိုစိတ်ကြိုက်ပြုပြင်ခြင်းအားဖြင့်ကျွန်ုပ်တို့သည်ရှုပ်ထွေးသောအခြေအနေများစွာကိုကိုင်တွယ်နိုင်သည်။ ဥပမာအားဖြင့်ကျွန်ုပ်တို့သည်အမှုကိုကျွန်ုပ်တို့လျစ်လျူရှုလိုပါကသို့မဟုတ် Slash လမ်းညွှန်ချက်များ (ရှေ့သို့ slash / backslash \ ) ကိုတညီတညွတ်တည်းတွင် 0 င်ရောက်ယှဉ်ပြိုင်နိုင်လျှင် (ရှေ့သို့ slash / backslash) ကိုစည်းလုံးညီညွှတ်ပါက array_intersect_ukey () ကိုလည်းထုံးစံအတိုင်းစည်းမျဉ်းများပေါ်တွင် အခြေခံ. အလွယ်တကူနှိုင်းယှဉ်နိုင်သည်။
အောက်ဖော်ပြပါဖိုင်ပလင်ပလမ်းကြောင်းကိုခင်းကျင်းသည်ဆိုပါစို့။
<span><span><span class="hljs-variable">$array1</span></span><span> = [</span><span><span class="hljs-string">'src/main.php'</span></span><span> => </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">'src/config/config.php'</span></span><span> => </span><span><span class="hljs-number">2</span></span><span>];
</span><span><span class="hljs-variable">$array2</span></span><span> = [</span><span><span class="hljs-string">'SRC/main.php'</span></span><span> => </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">'src/config/config.php'</span></span><span> => </span><span><span class="hljs-number">4</span></span><span>];
</span></span>
ကျနော်တို့အမှုကိုလျစ်လျူရှုချင်တယ်နှင့်လမ်းကြောင်းထဲမှာ slash လမ်းညွှန်ကိုစည်းလုံးလိုသည်။ ကျနော်တို့နှိုင်းယှဉ် function ကိုအောက်ပါအတိုင်းစိတ်ကြိုက်နိုင်ပါတယ်:
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">path_compare</span></span><span>(</span><span><span class="hljs-params"><span class="hljs-variable">$key1</span></span></span><span>, </span><span><span class="hljs-variable">$key2</span></span><span>) {
</span><span><span class="hljs-comment">// လမ်းကြောင်းများကိုရှေ့သို့ slashes နှင့်အမှုကိုလျစ်လျူရှုရန်လမ်းကြောင်းပြောင်းပါ</span></span><span>
</span><span><span class="hljs-variable">$key1</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_replace</span></span><span>(</span><span><span class="hljs-string">'\\'</span></span><span>, </span><span><span class="hljs-string">'/'</span></span><span>, </span><span><span class="hljs-title function_ invoke__">strtolower</span></span><span>(</span><span><span class="hljs-variable">$key1</span></span><span>));
</span><span><span class="hljs-variable">$key2</span></span><span> = </span><span><span class="hljs-title function_ invoke__">str_replace</span></span><span>(</span><span><span class="hljs-string">'\\'</span></span><span>, </span><span><span class="hljs-string">'/'</span></span><span>, </span><span><span class="hljs-title function_ invoke__">strtolower</span></span><span>(</span><span><span class="hljs-variable">$key2</span></span><span>));
</span><span><span class="hljs-keyword">return</span></span><span> </span><span><span class="hljs-title function_ invoke__">strcmp</span></span><span>(</span><span><span class="hljs-variable">$key1</span></span><span>, </span><span><span class="hljs-variable">$key2</span></span><span>);
}
</span><span><span class="hljs-variable">$result</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_intersect_ukey</span></span><span>(</span><span><span class="hljs-variable">$array1</span></span><span>, </span><span><span class="hljs-variable">$array2</span></span><span>, </span><span><span class="hljs-string">'path_compare'</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$result</span></span><span>);
</span></span>
output ရလဒ် -
<span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[src/config/config.php] => </span><span><span class="hljs-number">2</span></span><span>
)
</span></span>
စိတ်ကြိုက်နှိုင်းယှဉ်လုပ်ဆောင်မှုများမှတစ်ဆင့်ကျွန်ုပ်တို့သည်လမ်းကြောင်းအမှုနှင့် ဦး တည်ချက်၏ခြားနားချက်ကိုအောင်မြင်စွာလျစ်လျူရှုပြီးမှန်ကန်သောရလဒ်ရရှိခဲ့သည်။
array_intersect_ukey () function ကို Custom key name နှိုင်းယှဉ်မှု function နှင့်ပေါင်းစပ်ထားသော function မှတစ်ဆင့် PHP သည်ပြောင်းလွယ်ပြင်လွယ်။ ထိရောက်သောနည်းလမ်းကိုပြင်ဆင်ရန်ပြောင်းလွယ်ပြင်လွယ်။ ထိရောက်သောနည်းလမ်းတစ်ခုကိုခင်းကျင်းစွာကိုင်တွယ်ဖြေရှင်းနိုင်သည်။ ၎င်းသည်ရိုးရှင်းသောအက္ခရာစဉ်နှင့်ရှုပ်ထွေးသောအထူးစည်းမျဉ်းစည်းကမ်းများကိုစီရင်သည်ဖြစ်စေ၎င်းသည်စိတ်ကြိုက်နှိုင်းယှဉ်လုပ်ဆောင်မှုများမှတစ်ဆင့်အောင်မြင်နိုင်သည်။ ရှုပ်ထွေးသောအချက်အလက်များကိုပိုမိုတိကျစွာထိန်းချုပ်ရန်ကျွန်ုပ်တို့အားပိုမိုတိကျစွာထိန်းချုပ်ရန်အထောက်အကူပြုသောအချက်အလက်များကိုပြုပြင်ပြောင်းလဲရန်အတွက်အစွမ်းထက်သောကိရိယာများဖြင့်ကျွန်ုပ်တို့ကိုအားပေးစေသည်။