လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> spl_object_ID array_change_key_key_case () နှင့် foreach traversal တို့၏ထိရောက်မှုကိုကျွန်ုပ်တို့အားအကဲဖြတ်ရန်ကူညီပါ။

spl_object_ID array_change_key_key_case () နှင့် foreach traversal တို့၏ထိရောက်မှုကိုကျွန်ုပ်တို့အားအကဲဖြတ်ရန်ကူညီပါ။

M66 2025-07-07

PHP တွင်စွမ်းဆောင်ရည်ကောင်းမွန်မှုသည် developer များအမြဲတမ်းအာရုံစိုက်ထားပြီးအထူးသဖြင့်အချက်အလက်အမြောက်အများကိုပြုပြင်သည့်အခါမှန်ကန်သောဒေတာအပြောင်းအလဲနဲ့နည်းလမ်းကိုရွေးချယ်ခြင်းသည်အထူးအရေးကြီးသည်။ array_change_key_key_case () နှင့် foreach traversal သည် PHP တွင်အသုံးပြုသော warray traversal များကို PHP တွင်အသုံးပြုသည်။ ကွဲပြားခြားနားသောအခြေအနေများတွင်ကွဲပြားခြားနားသောစွမ်းဆောင်ရည်ကွဲပြားခြားနားမှုများကိုပြသနိုင်သည်။ ဒီတော့နှစ်ခုအကြားထိရောက်မှုကွာခြားချက်များကိုအကဲဖြတ်ရန်ဘယ်လို? ဒီဆောင်းပါးမှာ spl_object_id () ကို ဘယ်လိုသုံးရမလဲဆိုတာဆွေးနွေးပါလိမ့်မယ်။

1 ။ array_change_key_key_case_case () နှင့် foreach မှအခြေခံနိဒါန်း

array_change_key_case ()

Array_change_Key_Key_case () သည် PHP တွင် built-in function တစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်သည် parameters နှစ်ခုကိုလက်ခံသည်။

 <span><span><span class="hljs-title function_ invoke__">array_change_key_case</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span> </span><span><span class="hljs-variable">$array</span></span><span>, </span><span><span class="hljs-keyword">int</span></span><span> </span><span><span class="hljs-variable">$case</span></span><span> = CASE_LOWER): </span><span><span class="hljs-keyword">array</span></span><span>
</span></span>
  • $ array : ပြောင်းလဲခံရဖို့သော့ချက်အမည်များတစ်ခုခင်းကျင်း။

  • $ အမှု - ပြောင်းလဲခြင်းနည်းလမ်းကိုသတ်မှတ်ပါ။ Case_lower သည် သော့အမည်ကိုစာလုံးအသေးအဖြစ်ပြောင်းလဲလိမ့်မည်

ဒီ function ဟာ array အသစ်တစ်ခုကိုပြန်ပို့ပေးပြီးမူရင်းခင်းကျင်းမှုကိုပြုပြင်မွမ်းမံခြင်းမရှိပါ။

foreach taversal

foreach သည် PHP တွင်အသုံးများသော straversal ဖွဲ့စည်းပုံဖြစ်သည်။ ၎င်းသည်ခင်းကျင်းမှုတစ်ခုစီကို pointer မှာယူသည်။ အခြေခံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -

 <span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$array</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$key</span></span><span> =&gt; </span><span><span class="hljs-variable">$value</span></span><span>) {
    </span><span><span class="hljs-comment">// Array ဒြပ်စင်များတွင်လည်ပတ်ပါ</span></span><span>
}
</span></span>

Forach သည် PHP တွင်အပြင်းအထန်လုပ်ဆောင်နိုင်သည့် traversal နည်းလမ်းများအနက်မှတစ်ခုဖြစ်သည်။

2 ။ စွမ်းဆောင်ရည်ကွဲပြားခြားနားမှုကိုဘယ်လိုအကဲဖြတ်ရမလဲ။

array_change_key_key_Key_case () traversal တို့အကြားစွမ်းဆောင်ရည်ကွဲပြားခြားနားမှုများကိုနှိုင်းယှဉ်ရန်ကျွန်ုပ်တို့သည် spl_object_ID () ကို သုံး . ခု၏မှတ်ဥာဏ်ကိုကြည့်ရှုရန် spl_object_ID () ကို သုံးနိုင်သည်။ PHP တွင် spl_object_ID () သည်အရာဝတ်ထုတစ်ခုအတွက်ထူးခြားသောအမှတ်အသားကိုပြန်ပို့ရန်အသုံးပြုသည်။ OFF အရာဝတ်ထု IDs များကိုခွဲစိတ်ကုသမှုမတိုင်မီနှင့်အပြီးများအပေါ်နှိုင်းယှဉ်ခြင်းအားဖြင့်မှတ်ဥာဏ်ပြောင်းလဲခြင်းကိုကျွန်ုပ်တို့ခန့်မှန်းနိုင်သည်။

spl_object_id ကိုအသုံးပြုပြီးမှတ်ဉာဏ်အပြောင်းအလဲများကိုအကဲဖြတ်ပါ။

Array_change_key_Key_case_case () နှင့် forraach array robss များတွင် array အရာဝတ်ထုများတွင်လုပ်ကိုင်သည်။ ဤနည်းလမ်းနှစ်မျိုး၏ထိရောက်မှုကိုအကဲဖြတ်ရန်ကျွန်ုပ်တို့သည်အရာဝတ်ထု၏အပြောင်းအလဲများကိုကြည့်ရှုရန်ကွပ်မျက်ခြင်းမပြုမီနှင့်ပြီးနောက် spl_object_id () ကို သုံးနိုင်သည်။

နမူနာကုဒ်သည်အောက်ပါအတိုင်းဖြစ်သည် -

 <span><span><span class="hljs-comment">// ဒေတာကိုစမ်းသပ်</span></span><span>
</span><span><span class="hljs-variable">$array</span></span><span> = [</span><span><span class="hljs-string">'One'</span></span><span> =&gt; </span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-string">'Two'</span></span><span> =&gt; </span><span><span class="hljs-number">2</span></span><span>, </span><span><span class="hljs-string">'Three'</span></span><span> =&gt; </span><span><span class="hljs-number">3</span></span><span>, </span><span><span class="hljs-string">'Four'</span></span><span> =&gt; </span><span><span class="hljs-number">4</span></span><span>];

</span><span><span class="hljs-comment">// အသုံးပြု spl_object_id() စစ်ဆင်ရေးမတိုင်မီ Array အရာဝတ်ထုကိုစစ်ဆေးပါ ID</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Before array_change_key_case() ID: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">spl_object_id</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>) . PHP_EOL;

</span><span><span class="hljs-variable">$newArray</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_change_key_case</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>, CASE_LOWER);

</span><span><span class="hljs-comment">// အသုံးပြု spl_object_id() စစ်ဆင်ရေးပြီးနောက်ခင်းကျင်းအရာဝတ်ထုကိုစစ်ဆေးပါ ID</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"After array_change_key_case() ID: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">spl_object_id</span></span><span>(</span><span><span class="hljs-variable">$newArray</span></span><span>) . PHP_EOL;

</span><span><span class="hljs-keyword">echo</span></span><span> PHP_EOL;

</span><span><span class="hljs-comment">// အသုံးပြု foreach အဆိုပါခင်းကျင်းမှတဆင့်ကြားမှာ</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Before foreach() ID: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">spl_object_id</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>) . PHP_EOL;
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$array</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$key</span></span><span> =&gt; </span><span><span class="hljs-variable">$value</span></span><span>) {
    </span><span><span class="hljs-comment">// taversal စစ်ဆင်ရေး</span></span><span>
}
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"After foreach() ID: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">spl_object_id</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>) . PHP_EOL;
</span></span>

3 ။ ရလဒ်ခွဲခြမ်းစိတ်ဖြာခြင်း

အထက်ဖော်ပြပါကုဒ်များမှတွေ့နိုင်သည်ကို array_change_key_Key_case () သည် Orray array အရာဝတ်ထုကိုပြုပြင်မွမ်းမံမည့်အစားခင်းကျင်းသောအရာဝတ်ထုအသစ်တစ်ခုကိုဖန်တီးနိုင်သည်။ ဤအချက်က array_change_key_Key_case () သည် မူရင်းခင်းကျင်းမှုကိုကူးယူလိမ့်မည်ဟုညွှန်ပြပြီး,

အတော်လေးပြောရလျှင်, foreach traversal သည် array ၏ element တစ်ခုစီကိုလုပ်ဆောင်သည်။ Array အသစ်တစ်ခုကိုမဖန်တီးနိုင်ပါ။

4 ။ စွမ်းဆောင်ရည်နှိုင်းယှဉ်

နှစ် ဦး စလုံး၏ထိရောက်မှုကိုပိုမိုပြည့်စုံစွာအကဲဖြတ်ရန်, Microtime (Trust) ကို ကွပ်မျက်ချိန်တိုင်းတာရန်အသုံးပြုနိုင်သည်။ ဤတွင်ရိုးရှင်းသောစွမ်းဆောင်ရည်နှိုင်းယှဉ်ခြင်းဥပမာတစ်ခုဖြစ်သည်။

 <span><span><span class="hljs-comment">// ဒေတာကိုစမ်းသပ်</span></span><span>
</span><span><span class="hljs-variable">$array</span></span><span> = </span><span><span class="hljs-title function_ invoke__">range</span></span><span>(</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">100000</span></span><span>);

</span><span><span class="hljs-comment">// တိုင်းတာခြင်း array_change_key_case() ပြပဲှ</span></span><span>
</span><span><span class="hljs-variable">$start</span></span><span> = </span><span><span class="hljs-title function_ invoke__">microtime</span></span><span>(</span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-variable">$newArray</span></span><span> = </span><span><span class="hljs-title function_ invoke__">array_change_key_case</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>, CASE_UPPER);
</span><span><span class="hljs-variable">$end</span></span><span> = </span><span><span class="hljs-title function_ invoke__">microtime</span></span><span>(</span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"array_change_key_case() ကွပ်မျက်အချိန်: "</span></span><span> . (</span><span><span class="hljs-variable">$end</span></span><span> - </span><span><span class="hljs-variable">$start</span></span><span>) . </span><span><span class="hljs-string">" စက်ဏန့်"</span></span><span> . PHP_EOL;

</span><span><span class="hljs-comment">// တိုင်းတာခြင်း foreach 遍历ပြပဲှ</span></span><span>
</span><span><span class="hljs-variable">$start</span></span><span> = </span><span><span class="hljs-title function_ invoke__">microtime</span></span><span>(</span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-keyword">foreach</span></span><span> (</span><span><span class="hljs-variable">$array</span></span><span> </span><span><span class="hljs-keyword">as</span></span><span> </span><span><span class="hljs-variable">$key</span></span><span> =&gt; </span><span><span class="hljs-variable">$value</span></span><span>) {
    </span><span><span class="hljs-comment">// taversal စစ်ဆင်ရေး</span></span><span>
}
</span><span><span class="hljs-variable">$end</span></span><span> = </span><span><span class="hljs-title function_ invoke__">microtime</span></span><span>(</span><span><span class="hljs-literal">true</span></span><span>);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"foreach() ကွပ်မျက်အချိန်: "</span></span><span> . (</span><span><span class="hljs-variable">$end</span></span><span> - </span><span><span class="hljs-variable">$start</span></span><span>) . </span><span><span class="hljs-string">" စက်ဏန့်"</span></span><span> . PHP_EOL;
</span></span>

5 ။ နိဂုံးချုပ်

SPL_OBJET_ID () မှမှတ်ဉာဏ်အပြောင်းအလဲများကိုကြည့်ခြင်းအားဖြင့်,

  • array_change_key_key_case () သည် ခင်းကျင်းမှုအသစ်တစ်ခုကိုဖန်တီးလိမ့်မည်။

  • foreach traversal သည် array ၏ element တိုင်းတွင်ပါ 0 င်သည်။

ထို့ကြောင့် fonteach သည် ကြီးမားသောအချက်အလက်များလုပ်ဆောင်သည့်အခါ array_change_key_key_case_case () ထက် ပို. ထိရောက်မှုရှိသည်။ array key names ၏အမှုကိစ္စကိုပြောင်းလဲရန်လိုအပ်ပါကစွမ်းဆောင်ရည်လိုအပ်ချက်များနှင့်အတူအခြေအနေများတွင် array_change_key_key_case () ကို အသုံးပြုခြင်းကိုရှောင်ရှားရန်အကြံပြုသည်။