လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> array_flip () ၏တန်ဖိုးသည် string တစ်ခုသို့မဟုတ်ကိန်းတစ်ခုဖြစ်ရမည်, အဘယ်ကြောင့်နည်း။

array_flip () ၏တန်ဖိုးသည် string တစ်ခုသို့မဟုတ်ကိန်းတစ်ခုဖြစ်ရမည်, အဘယ်ကြောင့်နည်း။

M66 2025-06-03

PHP Development တွင် array_flip () သည် interrays ၏သော့ချက်များနှင့်တန်ဖိုးများကိုအပြန်အလှန်ဖလှယ်နိုင်သည့်အလွန်အသုံးများသောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်၏ syntax သည်အလွန်ရိုးရှင်းပါသည်, သို့သော်အသုံးပြုသောအခါမှတ်စုများကန့်သတ်ချက်ရှိသည် - မဟုတ်ရင် array_flip () အမှားတစ်ခုသို့မဟုတ်တရားမ 0 င်တန်ဖိုးများကိုအလိုအလျောက်လျစ်လျူရှုပါလိမ့်မည်။

ဒီတော့ဘာဖြစ်လို့ဒီကန့်သတ်ချက်ရှိသလဲ။ ကျနော်တို့ရှုထောင့်ကနေနောက်ကွယ်မှအကြောင်းပြချက်နှင့်ကန့်သတ်ချက်များဆန်းစစ်။

1 ။ array_flip ၏အခြေခံအသုံးပြုမှု ()

 $original = [
    'apple' => 'red',
    'banana' => 'yellow'
];

$flipped = array_flip($original);

print_r($flipped);

ထုတ်လုပ်မှု -

 Array
(
    [red] => apple
    [yellow] => banana
)

ဤတွင် Array_flip () 'အနီရောင်' နှင့် 'အဝါရောင်' ကိုအောင်မြင်စွာဖွင့်ပြီး string tings အမျိုးအစားများဖြစ်သောကြောင့်ဖြစ်သည်။

2 ။ သော့များသည်အဘယ်ကြောင့်သော့ခတ်ကြိုးများသို့မဟုတ်ကိန်းများသာဖြစ်နိုင်သည်။

PHP Array များသည်မြေပုံကိုအမိန့်ပေးပြီးသူတို့၏သော့များသည် ကိန်းဂဏန်းများသို့မဟုတ်ကြိုးများ သာဖြစ်နိုင်သည်။ ၎င်းသည်အားနည်းသောဘာသာစကားအချို့နှင့်ကွဲပြားခြားနားပြီးအလားတူပင်ဆင်တူသော်လည်း JavaScript ၏အရာဝတ်ထု၏အဓိကသောယန္တရားနှင့်မတူပါ။

array_flip ကို execute လုပ်သည့်အခါ PHP သည် array အသစ်၏ "သော့" အဖြစ် PHP ၏ "တန်ဖိုး" ကိုကုသရန်ကြိုးစားလိမ့်မည်။ မူရင်းခင်းကျင်းမှု၏တန်ဖိုးသည် -

  • string? ဟုတ်ကဲ့

  • ကိန်း? ဟုတ်ကဲ့

  • Boolean, floating point နံပါတ်, ခင်းကျင်း, array, object, null? သော့များအဖြစ်ခွင့်မပြုပါ

ဥပမာအားဖြင့်:

 $invalid = [
    'one' => true,
    'two' => [],
    'three' => new stdClass(),
    'four' => null,
];

$flipped = array_flip($invalid);

// တ ဦး တည်းပစ်လိမ့်မယ် warning:array_flip(): Can only flip STRING and INTEGER values!

3 ။ အမျိုးအစားပြောင်းလဲခြင်းကြောင့်ဖြစ်သည့်ပြနာများ

အချို့သောအမျိုးအစားများကိုကြိုးကြိုးများသို့မဟုတ်ကိန်းဂဏန်းများသို့သွန်းလောင်းနိုင်သည်ကိုပင် Boolean တန်ဖိုးများ ( RESS 1 ဖြစ်လာလိမ့်မည်) သည်အလွယ်တကူပ conflict ိပက်ခဖြစ်စေသည်။ ဥပမာအားဖြင့်:

 $array = [
    'a' => true,
    'b' => 1,
    'c' => '1'
];

$flipped = array_flip($array);

print_r($flipped);

ထုတ်လုပ်မှု -

 Array
(
    [1] => c
)

မူလကကွဲပြားခြားနားသောတန်ဖိုးသုံးခုရှိခဲ့သော်လည်း၎င်းတို့သည် "cids" ကို "flipping " နှင့်ပထမနှစ်ခုကို overwrid လုပ်ထားကြပြီးအဆုံး၌ 'C' => 1 ကို သာထိန်းသိမ်းထားသည်။

ထို့ကြောင့် array_flip () သည် တန်ဖိုးကို သော့တစ်ခုအနေဖြင့်လုံခြုံစိတ်ချ ရသောအမျိုးအစားတစ်ခုဖြစ်ရမည်ဟုယူဆရန်လိုအပ်သည်။

4 ။ လက်တွေ့ကျသော application တစ်ခု၏ဥပမာများ

သင့်တွင်နိုင်ငံနာမည်မြေပုံရေးဆွဲခြင်းအတွက်တိုင်းပြည်ကုဒ်တစ်ခုရှိသည်ဆိုပါစို့။

 $countryCodes = [
    'US' => 'United States',
    'FR' => 'France',
    'JP' => 'Japan'
];

$flipped = array_flip($countryCodes);

// လျင်မြန်စွာရှာဖွေပါ:
$code = $flipped['Japan']; // ရလဒ်ကတော့ 'JP'

ဤအခြေအနေတွင် array_flip () ကိုအသုံးပြုပြီးအလွန်အကျိုးရှိရှိအသုံးပြုသည်။ တန်ဖိုးသည် string တစ်ခုဖြစ်သောကြောင့်ပြ problem နာမရှိပါ။

5 ။ တန်ဖိုးကိုသော့တစ်ခုအနေနဲ့အသုံးမပြုနိုင်ရင်ကော။

အကယ်. သင်၏တန်ဖိုးသည် array များ, အရာဝတ်ထုများသို့မဟုတ်အခြားအမျိုးအစားများကိုမသုံးနိုင်သည့်အခြားအမျိုးအစားများပါ 0 င်ပါကအောက်ပါနည်းလမ်းကိုသုံးနိုင်သည်။

 $original = [
    'a' => 'cat',
    'b' => ['nested'],
    'c' => 'dog'
];

$filtered = array_filter($original, function($value) {
    return is_int($value) || is_string($value);
});

$flipped = array_flip($filtered);

print_r($flipped);

သို့မဟုတ် Logic ကိုခြုံရန်ကြိုးစားခြင်းကိုအသုံးပြုပါ (PHP သည်ခြွင်းချက်များကိုမပစ်နိုင်သော်လည်း,

အကျဉ်းချုပ်

Array_Flip () ၏ဒီဇိုင်းကန့်သတ်ချက်သည် PHP Array ၏ဝိသေသလက္ခဏာများကိုရောင်ပြန်ဟပ်သည်။ သော့များသည်ကိန်းဂဏန်းများသို့မဟုတ်ကြိုးများသာဖြစ်နိုင်သည် ။ ဤကန့်သတ်ချက်သည်ကြိုတင်ခန့်မှန်းခြင်း, သော့များ၏စွမ်းဆောင်ရည်ကိုသေချာစေရန်နှင့်မမျှော်လင့်သောတန်ဖိုးကို overwrite များကိုရှောင်ရှားရန်ဖြစ်သည်။ array_flip () flari ကို သုံးသောအခါခင်းကျင်းမှုရှိတန်ဖိုးသည်စစ်ဆင်ရေးကိုလုံခြုံမှုရှိစေရန်သင့်လျော်သောအမျိုးအစားဖြစ်သည်ကိုအတည်ပြုရန်အကြံပြုပါသည်။

အကယ်. သင်သည်လုပ်ငန်းစဉ်ကိုသင်၏ system ရှိ URLs များမှသော့ချက်တန်ဖိုးတွဲတွဲမှုများပြောင်းလဲရန်လိုအပ်ပါက၎င်းကိုသင်ပြုလုပ်နိုင်သည်။

 $input = [
    'home' => 'https://m66.net/index',
    'about' => 'https://m66.net/about'
];

$flipped = array_flip($input);

print_r($flipped);

ထုတ်လုပ်မှု -