လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> key name နှိုင်းယှဉ်မှုကိုစိတ်ကြိုက်ပြုလုပ်နိုင်ပုံနှင့် array_intersect_ukey ကိုအသုံးပြုနည်း။ ကျွမ်းကျင်မှုမျှဝေခြင်း

key name နှိုင်းယှဉ်မှုကိုစိတ်ကြိုက်ပြုလုပ်နိုင်ပုံနှင့် array_intersect_ukey ကိုအသုံးပြုနည်း။ ကျွမ်းကျင်မှုမျှဝေခြင်း

gitbox 2025-06-24

PHP တွင်အချက်အလက်များ, အထူးသဖြင့် array_intesect_ukey () ကို အသုံးပြု. အချက်အလက်များကိုအထူးသဖြင့် incray_intersect_ukey () ကို အသုံးပြု. ၎င်းတို့အကြားရှိအဓိကအမည်များနှင့်နှိုင်းယှဉ်ရန်အသုံးပြုသောအချက်အလက်များကိုအသုံးပြုသည်။ ဒီ function ကိုအသုံးပြုရန်အလွန်အဆင်ပြေသည်, သို့သော်ကျွန်ုပ်တို့သည်အဓိကအကြောင်းရင်းများမှာတူညီမှုရှိမရှိဆုံးဖြတ်ရန်စိတ်ကြိုက်နှိုင်းယှဉ်ချက်နည်းလမ်းကိုအသုံးပြုလိုပါက array_intesect_ukey () function သည်အတန်ငယ်ကန့်သတ်ချက်ဖြစ်လာလိမ့်မည်။ ထို့ကြောင့်သော့ချက်အမည်နှိုင်းယှဉ်ခြင်း function ကိုမည်သို့စိတ်ကြိုက်ပြုလုပ်နိုင်သည်ကိုကျွမ်းကျင်ပြီး array_intersect_ukey () ကိုအသုံးပြုရန်ကျွမ်းကျင်မှုကိုအသုံးပြုရမည်။

1 ။ 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> =&gt; </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">'b'</span></span><span> =&gt; </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'c'</span></span><span> =&gt; </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> =&gt; </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-string">'c'</span></span><span> =&gt; </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-string">'d'</span></span><span> =&gt; </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] =&gt; </span><span><span class="hljs-number">2</span></span><span>
    [c] =&gt; </span><span><span class="hljs-number">3</span></span><span>
)
</span></span>

ဤဥပမာတွင် stricasecmp ကို callback function တစ်ခုအဖြစ်အသုံးပြုသည်။ ၎င်းသည်သော့ချက်အမည်များနှင့်စပ်လျဉ်း။ အမှုနှင့်နောက်ဆုံးတွင် elements များနှင့်အတူတူပင် element များကိုပြန်ပို့သည်။

2 ။ ထုံးစံ key name နှိုင်းယှဉ် function ကို

လက်တွေ့ကျသောအပလီကေးရှင်းများတွင်ကျွန်ုပ်တို့၏လိုအပ်ချက်များနှင့်အညီပိုမိုရှုပ်ထွေးသောနှိုင်းယှဉ်ခြင်း 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> &amp;&amp; </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> &amp;&amp; </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 င်ပါက @ ပါသောသော့အမည်မှာ ဦး စားပေးလိုအပ်သည်။ ဒီလိုမှမဟုတ်ရင်အက်ခရာနဲ့နှိုင်းယှဉ်ပါလိမ့်မယ်။

3 ။ array_intersect_ukey (စိတ်ကြိုက်နှိုင်းယှဉ် function ကို)

နောက်နာမည်နှိုင်းယှဉ်မှုကိုပြုလုပ်ရန် 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> =&gt; </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">'b@'</span></span><span> =&gt; </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'c'</span></span><span> =&gt; </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> =&gt; </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-string">'c'</span></span><span> =&gt; </span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-string">'d'</span></span><span> =&gt; </span><span><span class="hljs-number">6</span></span><span>, </span><span><span class="hljs-string">'b@'</span></span><span> =&gt; </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@] =&gt; </span><span><span class="hljs-number">2</span></span><span>
)
</span></span>

သင်မြင်နိုင်သည့်အတိုင်း array_intersect_ukey () သည် ကျွန်ုပ်တို့၏စိတ်ကြိုက်သော့အမည်နှိုင်းယှဉ်မှု function ကိုအရသိရသည် key name b @ ကိုအောင်မြင်စွာအသိအမှတ်ပြုသည်

4 ။ လက်တွေ့ကျသောလျှောက်လွှာ

သော့ချက်အမည်နှိုင်းယှဉ်မှု 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> =&gt; </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">'src/config/config.php'</span></span><span> =&gt; </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> =&gt; </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">'src/config/config.php'</span></span><span> =&gt; </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] =&gt; </span><span><span class="hljs-number">2</span></span><span>
)
</span></span>

စိတ်ကြိုက်နှိုင်းယှဉ်လုပ်ဆောင်မှုများမှတစ်ဆင့်ကျွန်ုပ်တို့သည်လမ်းကြောင်းအမှုနှင့် ဦး တည်ချက်၏ခြားနားချက်ကိုအောင်မြင်စွာလျစ်လျူရှုပြီးမှန်ကန်သောရလဒ်ရရှိခဲ့သည်။

5 ။ အကျဉ်းချုပ်

array_intersect_ukey () function ကို Custom key name နှိုင်းယှဉ်မှု function နှင့်ပေါင်းစပ်ထားသော function မှတစ်ဆင့် PHP သည်ပြောင်းလွယ်ပြင်လွယ်။ ထိရောက်သောနည်းလမ်းကိုပြင်ဆင်ရန်ပြောင်းလွယ်ပြင်လွယ်။ ထိရောက်သောနည်းလမ်းတစ်ခုကိုခင်းကျင်းစွာကိုင်တွယ်ဖြေရှင်းနိုင်သည်။ ၎င်းသည်ရိုးရှင်းသောအက္ခရာစဉ်နှင့်ရှုပ်ထွေးသောအထူးစည်းမျဉ်းစည်းကမ်းများကိုစီရင်သည်ဖြစ်စေ၎င်းသည်စိတ်ကြိုက်နှိုင်းယှဉ်လုပ်ဆောင်မှုများမှတစ်ဆင့်အောင်မြင်နိုင်သည်။ ရှုပ်ထွေးသောအချက်အလက်များကိုပိုမိုတိကျစွာထိန်းချုပ်ရန်ကျွန်ုပ်တို့အားပိုမိုတိကျစွာထိန်းချုပ်ရန်အထောက်အကူပြုသောအချက်အလက်များကိုပြုပြင်ပြောင်းလဲရန်အတွက်အစွမ်းထက်သောကိရိယာများဖြင့်ကျွန်ုပ်တို့ကိုအားပေးစေသည်။