Array_flip သည် PHP တွင်အလွန်အသုံးဝင်သောလုပ်ဆောင်ချက်တစ်ခုဖြစ်သည်။ အကယ်. သင်အောင်မြင်သော array သည် Aceliative Array ဖြစ်လျှင် array_flip သည် ၎င်းကိုအသစ်သောသော့အဖြစ်တန်ဖိုးကိုယူပြီးမူရင်းသော့သည်တန်ဖိုးအသစ်ဖြစ်လာလိမ့်မည်။ သို့သော် array_flip function ကိုအသုံးပြုသောအခါအချို့သောအချက်အလက်များသည်မမျှော်လင့်သောရလဒ်များကိုဖြစ်ပေါ်စေနိုင်သည်။ အထူးသဖြင့်ခင်းကျင်းနေသောတန်ဖိုးများသည်အထူးအမျိုးအစားများဖြစ်သည်။
<?php
$inputArray = array('a' => 'apple', 'b' => 'banana', 'c' => 'cherry');
$flippedArray = array_flip($inputArray);
print_r($flippedArray);
?>
အထက်ပါကုဒ်ကိုကွပ်မျက်ပြီးနောက် output ကိုဖြစ်လိမ့်မည်။
Array
(
[apple] => a
[banana] => b
[cherry] => c
)
ဤအချိန်တွင်ခင်းကျင်း၏အဓိကတန်ဖိုးများကိုအောင်မြင်စွာဖလှယ်ကြသည်။
Array_flip သည် တော်တော်လေးရိုးရှင်းပုံရသော်လည်းအချို့သောဒေတာအမျိုးအစားများကိုကိုင်တွယ်ဖြေရှင်းသည့်အခါ၎င်းသည်မမျှော်လင့်သောရလဒ်များကိုဖြစ်ပေါ်စေနိုင်သည်။ ဤတွင်ပြ problems နာများဖြစ်ပေါ်စေနိုင်သောအခြေအနေအချို့ကိုဤတွင်ဖော်ပြထားသည်။
Array ၏တန်ဖိုးသည် boolean တစ်ခုဖြစ်ပါက array_flip သည် Boolean True နှင့် False ကို ကိန်းဂဏန်းများ ကိုပြောင်းသည် ။ ၎င်းသည်သော့ဆုံးရှုံးခြင်းသို့မဟုတ်ပ conflicts ိပက်ခဖြစ်စေနိုင်သည်။
<?php
$inputArray = array('a' => true, 'b' => false);
$flippedArray = array_flip($inputArray);
print_r($flippedArray);
?>
ရလဒ်ရလဒ် -
Array
(
[1] => a
[0] => b
)
True ကို 1 နှင့် false သို့ကူးပြောင်းသည်ကတည်းကဤသည် 0 မှပြောင်းလဲသည်။ ဤသည်မှာကွဲပြားခြားနားသောတန်ဖိုးများကို ပြောင်းလဲခြင်း နှင့် မှားယွင်းသော သော့ချက်တန်ဖိုးကိုထပ်တူထပ်မျှထဲသို့လှန်လှောသည်။
Floating Numeric အမျိုးအစားများ (ရေပေါ်အချက်များ) သည်ပြ problems နာများဖြစ်ပေါ်စေနိုင်သည်။
<?php
$inputArray = array('a' => 0.1, 'b' => 0.1);
$flippedArray = array_flip($inputArray);
print_r($flippedArray);
?>
ရလဒ်ရလဒ် -
Array
(
[0.1] => b
)
Flowating Point နံပါတ်များသည်တိကျမှန်ကန်မှုအမှားများရှိနိုင်သည့်အတွက် 0.1 ကို မတူညီသောပတ် 0 န်းကျင်သို့မဟုတ်အခြေအနေများတွင်တူညီသောသော့ချက်အဖြစ်လုပ်ဆောင်နိုင်ပြီးသော့ကို overwriting ပြုလုပ်နိုင်သည်။
Array ရှိတန်ဖိုးသည် Null ဖြစ်လျှင် ၎င်းသည် ၎င်းကိုအချည်းနှီးသော string တစ်ခုသို့ပြောင်းရွှေ့သည် ။
<?php
$inputArray = array('a' => NULL, 'b' => NULL);
$flippedArray = array_flip($inputArray);
print_r($flippedArray);
?>
ရလဒ်ရလဒ် -
Array
(
[] => b
)
ဤဥပမာတွင် NULL သည်အချည်းနှီးသော string တစ်ခုသို့ပြောင်းလဲ သွားသည် ,
Array ၏တန်ဖိုးသည်အရာဝတ်ထုတစ်ခုဖြစ်ပါကအ ရာ ဝတ်ထုသည်အရာဝတ်ထု ကို string တစ်ခုသို့ပြောင်းလဲသည်။
<?php
class MyClass {
public $value = 'example';
}
$obj1 = new MyClass();
$obj2 = new MyClass();
$inputArray = array('a' => $obj1, 'b' => $obj2);
$flippedArray = array_flip($inputArray);
print_r($flippedArray);
?>
ရလဒ်ရလဒ် -
Array
(
[MyClass Object] => b
)
အရာဝတ်ထု __tostoTring နည်းလမ်းကိုအကောင်အထည်ဖော်ခြင်းမရှိသောကြောင့်၎င်းတို့သည်ကြိုးများကိုကြိုးများအဖြစ်ပြုလုပ်သည်။
အရင်းအမြစ်အမျိုးအစားများ (ဖိုင်လက်ကိုင်များ, ဒေတာဘေ့စ်ဆက်သွယ်မှုများစသဖြင့်) သည်အထူး PPP ဒေတာအမျိုးအစားများဖြစ်သည်။ အရင်းအမြစ်ကိုခင်းကျင်းမှု၏တန်ဖိုးအဖြစ်အသုံးပြုရန်ကြိုးစားပါက array_flip ကိုအသုံးပြုပါက array_flip ကို သုံးပါ။
<?php
$file = fopen("example.txt", "r");
$inputArray = array('a' => $file);
$flippedArray = array_flip($inputArray);
print_r($flippedArray);
?>
စနစ်တကျမကိုင်တွယ်ပါကအရင်းအမြစ်သည်အသိအမှတ်မပြုနိုင်ပါ။
Array_flip သည်အလွန်အစွမ်းထက်သောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ သို့သော်၎င်းကိုအသုံးပြုသောအခါ array တန်ဖိုးအမျိုးအစားသည်လှန်၏ရလဒ်ကိုတိုက်ရိုက်အကျိုးသက်ရောက်လိမ့်မည်ကိုသတိပြုပါ။ မမျှော်လင့်သောအခြေအနေများကိုရှောင်ရှားရန်ပြင်ဆင်မှု၏တန်ဖိုးများကို hashable နှင့်ထူးခြားသောဖြစ်ကြောင်းသေချာစေရန်သေချာစေသင့်သည်။ အကယ်. Array တွင် Boolean တန်ဖိုးများ, ပုလင်းများ, အရာဝတ္ထုများသို့မဟုတ်အရင်းအမြစ်များစသည်တို့ပါ 0 င်ပါက၎င်းသည်ပ conflicts ိပက်ခများသို့မဟုတ်အမှားများဖြစ်ပေါ်စေနိုင်သည်။ ထို့ကြောင့် array_flip ကို debugging လုပ်သည့်အခါနောက်ဆုံးရလဒ်ကိုမထိခိုက်စေရန်သေချာစေရန် array တန်ဖိုးကိုသေချာစွာစစ်ဆေးရမည်။