လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> PHP တွင် Multidimensional Arrays process လုပ်ရန် array_intebint ကိုမည်သို့အသုံးပြုရမည်နည်း။ မျှဝေဖို့တိကျတဲ့နည်းလမ်းများနှင့်ကိစ္စရပ်များရှိပါသလား

PHP တွင် Multidimensional Arrays process လုပ်ရန် array_intebint ကိုမည်သို့အသုံးပြုရမည်နည်း။ မျှဝေဖို့တိကျတဲ့နည်းလမ်းများနှင့်ကိစ္စရပ်များရှိပါသလား

gitbox 2025-09-22

PHP တွင် array_intescesect function ကိုများသောအားဖြင့်နှစ်ခုသို့မဟုတ်နှစ်ခုထက်ပိုသောတိုက်ခန်းများ၏လမ်းဆုံကိုပြန်ပို့ရန်အသုံးပြုသည်။ သို့သော် Multidimensional Arrays များကိုပြုပြင်သည့်အခါဤ function သည် default by defence array များနှင့်သက်ဆိုင်သည်။ Multidimensional Arrays တွင်လမ်းဆုံအကောင်အထည်ဖော်ရန်အတွက်နောက်ထပ်အဆင့်အချို့ကိုမကြာခဏလိုအပ်သည်။

1 ။ array_intebintsect ၏အခြေခံအသုံးပြုမှု

ပထမ ဦး စွာ array_intesect ၏အခြေခံအသုံးပြုမှုကိုနားလည်ရန်အရေးကြီးသည်။ ဤလုပ်ဆောင်ချက်၏ syntax သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <span><span><span class="hljs-title function_ invoke__">array_intersect</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><span class="hljs-variable">$arrays</span></span><span>): </span><span><span class="hljs-keyword">array</span></span><span>
</span></span>

၎င်းသည် ဒေါ်လာ array1 နှင့် $ array2 ဖြင့်တူညီသော element များကိုပြန်လည်ရရှိပြီး arrays များစွာဖြင့်ဖြတ်သန်းသွားသောအခါလမ်းဆုံလမ်းခွတွင်လမ်းဆုံလမ်းခွကိုပြန်ပို့ပေးလိမ့်မည်။

ဥပမာအားဖြင့်, ရှုထောင့်ခင်းနှစ်ခုကိုလမ်းဆုံလမ်းခွ -

 <span><span><span class="hljs-variable">$array1</span></span><span> = [</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>];
</span><span><span class="hljs-variable">$array2</span></span><span> = [</span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-number">5</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</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-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>
(
    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; </span><span><span class="hljs-number">3</span></span><span>
    [</span><span><span class="hljs-number">3</span></span><span>] =&gt; </span><span><span class="hljs-number">4</span></span><span>
)
</span></span>

$ array1 နှင့် $ array2 ရှိပြန်လာသောဒြပ်စင်များအားလုံးကိုပြန်လည်ရောက်ရှိစေပါသည်။

2 ။ Multi- ရှုထောင်ခင်းကျင်းနှင့်အတူကိုင်တွယ်သောအခါစိန်ခေါ်မှုများ

သို့သော် Multidimensional Array ၏လမ်းဆုံလမ်းဆုံကိုကျွန်ုပ်တို့ကိုင်တွယ်လိုပါက array_intelect ၏ပုံမှန်အပြုအမူသည်မသုံးတော့ပါ။ ကျွန်ုပ်တို့သည် multensional array ကိုပထမ ဦး စွာ "ပြားချပ်ချပ်" ကို "ပြားချပ်ချပ်ခင်းကျင်းခြင်း, ၎င်းကိုရှုထောင့်များခင်းကျင်းခြင်းသို့ပြောင်းရွှေ့ရမည်။

3 ။ ဖြေရှင်းနည်း - Array_map နှင့် array_intesect ကို သုံးပါ

multidimensimensal array ကို array_map မှတဆင့်တစ်ရှုထောင်ခင်းကျင်းခြင်းနှင့်အခြားခင်းကျင်းခြင်းဖြင့်ဖြတ်ကူးနိုင်သည်။ ဤနေရာတွင် Multidimensional Array ၏ element တစ်ခုစီ၏အစိတ်အပိုင်းတစ်ခုစီကို၎င်းတို့အတွင်းဖွဲ့စည်းပုံထက်ဤဒြပ်စင်များ၏စံနှုန်းများကိုနှိုင်းယှဉ်ရန်သေချာစေမည်။

နမူနာအမှုများ

ကျွန်ုပ်တို့တွင် MultidimenDayalal Array နှစ်ခုရှိသည်ဆိုပါစို့, Array ရှိ element တစ်ခုစီသည် acciative array (သို့မဟုတ် Object) ဖြစ်သည်ဆိုပါစို့။

 <span><span><span class="hljs-variable">$array1</span></span><span> = [
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Tom'</span></span><span>],
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Jerry'</span></span><span>],
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Mickey'</span></span><span>],
];

</span><span><span class="hljs-variable">$array2</span></span><span> = [
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Jerry'</span></span><span>],
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Mickey'</span></span><span>],
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Donald'</span></span><span>],
];
</span></span>

ဒီနှစ်ခုကို array တွေထဲမှာတူညီတဲ့ ID နဲ့အတူ element တွေကိုရှာဖွေချင်တယ်။

အဆင့်

  1. subarray ၏ ID နှင့် အမည် သော့များကိုထုတ်ယူရန် Array_map ကို သုံးပါ။

  2. လုပ်ငန်းများ၌တပ်ဆင်ထားသော arrays နှိုင်းယှဉ်ရန် array_intebintect ကို သုံးပါ။

 <span><span><span class="hljs-variable">$array1</span></span><span> = [
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Tom'</span></span><span>],
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Jerry'</span></span><span>],
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Mickey'</span></span><span>],
];

</span><span><span class="hljs-variable">$array2</span></span><span> = [
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Jerry'</span></span><span>],
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Mickey'</span></span><span>],
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Donald'</span></span><span>],
];

</span><span><span class="hljs-comment">// တစ်ခုချင်းစီကို element ရဲ့ extract 'id' နှင့် 'name' လမ်းဆုံနှင့်နှိုင်းယှဉ်မှုအတွက်အခြေခံအဖြစ်</span></span><span>
</span><span><span class="hljs-variable">$array1_ids</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(fn(</span><span><span class="hljs-variable">$item</span></span><span>) =&gt; </span><span><span class="hljs-variable">$item</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>], </span><span><span class="hljs-variable">$array1</span></span><span>);
</span><span><span class="hljs-variable">$array2_ids</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(fn(</span><span><span class="hljs-variable">$item</span></span><span>) =&gt; </span><span><span class="hljs-variable">$item</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>], </span><span><span class="hljs-variable">$array2</span></span><span>);

</span><span><span class="hljs-comment">// နှစ်ခု arrays ၏လမ်းဆုံတွက်ချက်(အရ id တရားစီရင်ချက်)</span></span><span>
</span><span><span class="hljs-variable">$intersection_ids</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_intersect</span></span><span>(</span><span><span class="hljs-variable">$array1_ids</span></span><span>, </span><span><span class="hljs-variable">$array2_ids</span></span><span>);

</span><span><span class="hljs-comment">// လမ်းဆုံ၏ပြည့်စုံသောဒြပ်စင်ကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$intersection</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$array1</span></span><span>, fn(</span><span><span class="hljs-variable">$item</span></span><span>) =&gt; </span><span><span class="hljs-title function_ invoke__">in_array</span></span><span>(</span><span><span class="hljs-variable">$item</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>], </span><span><span class="hljs-variable">$intersection_ids</span></span><span>));

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$intersection</span></span><span>);
</span></span>

ရလဒ်ရလဒ် -

 <span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; </span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
        (
            [id] =&gt; </span><span><span class="hljs-number">2</span></span><span>
            [name] =&gt; Jerry
        )

    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; </span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
        (
            [id] =&gt; </span><span><span class="hljs-number">3</span></span><span>
            [name] =&gt; Mickey
        )
)
</span></span>

ရှင်းပြပါ -

  1. element တစ်ခုစီ၏ ID ကို Extract လုပ်ရန်နှင့် id တန်ဖိုးများပါ 0 င်သည့်တစ်ရှုထောင့်နှစ်ခုကိုထုတ်လုပ်ရန် array_map ကို သုံးပါ။

  2. array_intebint ကို နှစ်ခု array နှစ်ခုအတွက်တူညီတဲ့ ID ကို ရယူရန်သုံးပါ။

  3. လမ်းဆုံ၏ ID ကို အခြေခံ. မူလခင်းကျင်းမှုမှပြီးပြည့်စုံသောကိုက်ညီသောအရာများကိုဖြည့်ဆည်းရန် Array_Filter ကို သုံးပါ။

4 ။ တိုးချဲ့ခြင်း - Multidimensional Array တွင်ကွက်လပ်မျိုးစုံ၏လမ်းဆုံကိုကိုင်တွယ်ပါ

အကယ်. သင် ( ID နှင့် အမည် ကဲ့သို့သောကွက်လပ်များကဲ့သို့သောကွက်လပ်များအပေါ် အခြေခံ. လမ်းဆုံနှိုင်းယှဉ်မှုများပြုလုပ်လိုပါက array_map တွင်ပေါင်းစပ်ထားသော key တန်ဖိုးများကိုသင်သုံးနိုင်သည်သို့မဟုတ်ကွက်လပ်မျိုးစုံကိုတိုက်ရိုက်နှိုင်းယှဉ်နိုင်သည်။

 <span><span><span class="hljs-variable">$array1</span></span><span> = [
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Tom'</span></span><span>],
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Jerry'</span></span><span>],
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Mickey'</span></span><span>],
];

</span><span><span class="hljs-variable">$array2</span></span><span> = [
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Jerry'</span></span><span>],
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Mickey'</span></span><span>],
    [</span><span><span class="hljs-string">'id'</span></span><span> =&gt; </span><span><span class="hljs-number">4</span></span><span>, </span><span><span class="hljs-string">'name'</span></span><span> =&gt; </span><span><span class="hljs-string">'Donald'</span></span><span>],
];

</span><span><span class="hljs-comment">// ပူးပေါင်းခြင်း id နှင့် name လယ်ကွင်း,ထူးခွားတဲ့အမှတ်အသားတစ်ခုဖွဲ့စည်း</span></span><span>
</span><span><span class="hljs-variable">$array1_keys</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(fn(</span><span><span class="hljs-variable">$item</span></span><span>) =&gt; </span><span><span class="hljs-variable">$item</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>] . </span><span><span class="hljs-string">'-'</span></span><span> . </span><span><span class="hljs-variable">$item</span></span><span>[</span><span><span class="hljs-string">'name'</span></span><span>], </span><span><span class="hljs-variable">$array1</span></span><span>);
</span><span><span class="hljs-variable">$array2_keys</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_map</span></span><span>(fn(</span><span><span class="hljs-variable">$item</span></span><span>) =&gt; </span><span><span class="hljs-variable">$item</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>] . </span><span><span class="hljs-string">'-'</span></span><span> . </span><span><span class="hljs-variable">$item</span></span><span>[</span><span><span class="hljs-string">'name'</span></span><span>], </span><span><span class="hljs-variable">$array2</span></span><span>);

</span><span><span class="hljs-comment">// လမ်းဆုံ၏သော့ကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$intersection_keys</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_intersect</span></span><span>(</span><span><span class="hljs-variable">$array1_keys</span></span><span>, </span><span><span class="hljs-variable">$array2_keys</span></span><span>);

</span><span><span class="hljs-comment">// လမ်းဆုံ၏ပြည့်စုံသောဒြပ်စင်ကိုရယူပါ</span></span><span>
</span><span><span class="hljs-variable">$intersection</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_filter</span></span><span>(</span><span><span class="hljs-variable">$array1</span></span><span>, fn(</span><span><span class="hljs-variable">$item</span></span><span>) =&gt; </span><span><span class="hljs-title function_ invoke__">in_array</span></span><span>(</span><span><span class="hljs-variable">$item</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>] . </span><span><span class="hljs-string">'-'</span></span><span> . </span><span><span class="hljs-variable">$item</span></span><span>[</span><span><span class="hljs-string">'name'</span></span><span>], </span><span><span class="hljs-variable">$intersection_keys</span></span><span>));

</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$intersection</span></span><span>);
</span></span>

ရလဒ်ရလဒ် -

 <span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
    [</span><span><span class="hljs-number">1</span></span><span>] =&gt; </span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
        (
            [id] =&gt; </span><span><span class="hljs-number">2</span></span><span>
            [name] =&gt; Jerry
        )

    [</span><span><span class="hljs-number">2</span></span><span>] =&gt; </span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
        (
            [id] =&gt; </span><span><span class="hljs-number">3</span></span><span>
            [name] =&gt; Mickey
        )
)
</span></span>

ရှင်းပြပါ -

ဤတွင်ကျွန်ုပ်တို့သည် ကွက်လပ်ကွက်လပ် များကို 1- ဂျယ်ရီ အဖြစ်ပေါင်းစပ်ခြင်းဖြင့် နယ်ပယ် များကိုပေါင်းစပ်ခြင်းဖြင့်နယ်ပယ်များစွာကိုနှိုင်းယှဉ်ထားသည်။ array_intebintsect သည် လမ်းဆုံကိုရှာဖွေရန်ဤပေါင်းစပ်မှု၏ထူးခြားသောအမှတ်အသားကိုအသုံးပြုသည်။

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

PHP တွင် Array_intebintSect သည် Multidimensional Array ကိုပုံမှန်အားဖြင့်တိုက်ရိုက်မလုပ်ဆောင်နိုင်သော်လည်း MultidimenSAlal Arrays ၏လမ်းဆုံတူးခြင်းများ ကို နားလည်သဘောပေါက်ရန်ကွင်းဆင်းလေ့လာခြင်း, ဤနည်းလမ်းများဖြင့် multidimensional array များကိုပြောင်းလွယ်ပြင်လွယ်စွာလုပ်ဆောင်နိုင်ပြီးသင်၏လိုအပ်ချက်နှင့်အညီလမ်းဆုံအပိုင်းကိုရှာဖွေနိုင်သည်။