PHP Development တွင် array_flip () သည် interrays ၏သော့ချက်များနှင့်တန်ဖိုးများကိုအပြန်အလှန်ဖလှယ်နိုင်သည့်အလွန်အသုံးများသောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ဤလုပ်ဆောင်ချက်၏ syntax သည်အလွန်ရိုးရှင်းပါသည်, သို့သော်အသုံးပြုသောအခါမှတ်စုများကန့်သတ်ချက်ရှိသည် - မဟုတ်ရင် array_flip () အမှားတစ်ခုသို့မဟုတ်တရားမ 0 င်တန်ဖိုးများကိုအလိုအလျောက်လျစ်လျူရှုပါလိမ့်မည်။
ဒီတော့ဘာဖြစ်လို့ဒီကန့်သတ်ချက်ရှိသလဲ။ ကျနော်တို့ရှုထောင့်ကနေနောက်ကွယ်မှအကြောင်းပြချက်နှင့်ကန့်သတ်ချက်များဆန်းစစ်။
$original = [
'apple' => 'red',
'banana' => 'yellow'
];
$flipped = array_flip($original);
print_r($flipped);
ထုတ်လုပ်မှု -
Array
(
[red] => apple
[yellow] => banana
)
ဤတွင် Array_flip () 'အနီရောင်' နှင့် 'အဝါရောင်' ကိုအောင်မြင်စွာဖွင့်ပြီး string tings အမျိုးအစားများဖြစ်သောကြောင့်ဖြစ်သည်။
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!
အချို့သောအမျိုးအစားများကိုကြိုးကြိုးများသို့မဟုတ်ကိန်းဂဏန်းများသို့သွန်းလောင်းနိုင်သည်ကိုပင် 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 () သည် တန်ဖိုးကို သော့တစ်ခုအနေဖြင့်လုံခြုံစိတ်ချ ရသောအမျိုးအစားတစ်ခုဖြစ်ရမည်ဟုယူဆရန်လိုအပ်သည်။
သင့်တွင်နိုင်ငံနာမည်မြေပုံရေးဆွဲခြင်းအတွက်တိုင်းပြည်ကုဒ်တစ်ခုရှိသည်ဆိုပါစို့။
$countryCodes = [
'US' => 'United States',
'FR' => 'France',
'JP' => 'Japan'
];
$flipped = array_flip($countryCodes);
// လျင်မြန်စွာရှာဖွေပါ:
$code = $flipped['Japan']; // ရလဒ်ကတော့ 'JP'
ဤအခြေအနေတွင် array_flip () ကိုအသုံးပြုပြီးအလွန်အကျိုးရှိရှိအသုံးပြုသည်။ တန်ဖိုးသည် string တစ်ခုဖြစ်သောကြောင့်ပြ problem နာမရှိပါ။
အကယ်. သင်၏တန်ဖိုးသည် 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);
ထုတ်လုပ်မှု -