နေ့စဉ် PPP ဖွံ့ဖြိုးတိုးတက်မှုတွင်အပြန်အလှန်အကျိုးသက်ရောက်မှုများအကြားအပြန်အလှန်ပြောင်းလဲခြင်းနှင့်မကြာခဏတွေ့ဆုံလေ့ရှိသည်။ ဥပမာအားဖြင့်, အမှာစာ status တစ်ခုခင်းကျင်း
$statusMap = [
0 => 'ပေးဆောင်ခံရဖို့',
1 => 'ပေးဆောင်',
2 => 'တင်ပို့သော',
3 => 'ပြည့်စုံသော',
];
ဤဖွဲ့စည်းပုံသည်အဆင့်အတန်းကုဒ်မှသက်ဆိုင်ရာစာသားဖော်ပြချက်များထုတ်ယူခြင်းကိုလွယ်ကူချောမွေ့စေသည်။ သို့သော်တစ်ခါတစ်ရံတွင်ကျွန်ုပ်တို့သည် "တင်ပို့" ခြင်းအပေါ် အခြေခံ. သက်ဆိုင်ရာအဆင့်အတန်းကုဒ် နံပါတ်ကို ယူခြင်းစသည့်အခြားနည်းအတိုင်းလုပ်ဆောင်ရန်လိုအပ်သည်။ ဤအချိန်တွင်အပိုဆောင်းဖွဲ့စည်းတည်ဆောက်ပုံဆိုင်ရာပံ့ပိုးမှုမရှိသေးပါကသင်ပြင်ဆင်မှုတစ်ခုလုံးကို ဖြတ်. အလားတူယုတ္တိဗေဒကိုရေးရန်လိုအပ်လိမ့်မည်။
function getStatusCode($label) {
foreach ($statusMap as $code => $desc) {
if ($desc === $label) {
return $code;
}
}
return null;
}
ဒါဟာနည်းနည်းရှည် - လေတိုက်ကြည့်ရှုသည်။ ယခုအချိန်တွင် PHP နှင့်ပါ 0 င်သော array_flip () function သည်အသုံးဝင်သည်။
Array_Flip () သည် PHP တွင် built-in function တစ်ခုဖြစ်သည်။
array_flip(array $array): array
မှတ်စုများ
ခင်းကျင်းမှု၏တန်ဖိုးသည်ထူးခြားသောနှင့်စကေးတန်ဖိုးများ (ဥပမာ strings သို့မဟုတ် integers များကဲ့သို့သောသော့များအဖြစ်အသုံးပြုနိုင်သည်။
ထပ်တူတန်ဖိုးများရှိပါကအောက်ပါတို့သည်ယခင်ကထပ်ခါတလဲလဲရေးလိမ့်မည်။
Enum တန်ဖိုးများကိုလျောက်ပတ်စွာပြောင်းပြန်ပြောင်းရန်မည်သို့ကြည့်ရှုကြပါစို့။
$statusMap = [
0 => 'ပေးဆောင်ခံရဖို့',
1 => 'ပေးဆောင်',
2 => 'တင်ပို့သော',
3 => 'ပြည့်စုံသော',
];
$labelToCodeMap = array_flip($statusMap);
echo $labelToCodeMap['တင်ပို့သော']; // ထုတ်လုပ်ခြင်း 2
ဒါဟာချက်ချင်းအတွက်အများကြီးပိုမိုရိုးရှင်းတဲ့လား? ၎င်းသည် array_flip () ကို "Labeel" မှ "Value" သို့ 1 ပုံရသည်။
သင့်တွင်အသုံးပြုသူကျား, မရေးရာရွေးချယ်စရာများစွာရှိသည်ဆိုပါစို့။
$genderMap = [
'M' => 'ယောကျ်ားဖြစ်သော',
'F' => 'မိန်းမ',
'O' => 'အခြား',
];
ပုံစံကိုတင်ပြသည့်အခါအသုံးပြုသူသည် "အမျိုးသမီး 'ကို ရွေးချယ်ပြီးသင် ' f ' သို့ပြန်သွားရန်နှင့်ဒေတာဘေ့စ်တွင်သိုလှောင်ရန်ကူးယူလိုသည်။
$input = 'မိန်းမ';
$labelToValue = array_flip($genderMap);
$genderCode = $labelToValue[$input] ?? null;
if ($genderCode === null) {
echo "တရားမဝင်ကျား, မတန်ဖိုး";
} else {
// ၎င်းကိုဒေတာဘေ့စ်သို့သိမ်းဆည်းသည်ဆိုပါစို့
saveGenderToDB($genderCode);
}
code ကိုပိုမိုကျစ်လစ်သိပ်သည်းရုံသာမကယုတ္တိဗေဒသည်အလွန်ရှင်းရှင်းလင်းလင်းနှင့်နားလည်ရန်လွယ်ကူသည်။
အကယ်. သင်သည် inverted array များကိုနေရာများစွာဖြင့်အသုံးပြုရန်လိုအပ်ပါကသင်၏စီမံကိန်းတွင်ဘုံနည်းလမ်းတစ်ခုကိုသင်သတ်မှတ်နိုင်သည်။
function getFlippedMap(array $map): array {
static $cache = [];
$hash = md5(json_encode($map));
if (!isset($cache[$hash])) {
$cache[$hash] = array_flip($map);
}
return $cache[$hash];
}
ဤနည်းအားဖြင့်သင်ကအကြိမ်ပေါင်းများစွာဟုခေါ်ဆိုလျှင်ပင်စွမ်းဆောင်ရည်တိုးတက်စေရန်လက်ရှိပြောင်းရွှေ့လာမှုရလဒ်များကိုပြန်လည်သုံးသပ်နိုင်သည်။
မူရင်းခင်းကျင်းမှုတွင်တန်ဖိုးများသည်ထူးခြားသည်မဟုတ်လျှင် array_flip () သည် ယခင်သော့ကိုအလိုအလျောက်ထပ်ခါတလဲလဲရေးသားလိမ့်မည်ဟုသတိရပါ။
$arr = [
'a' => 'apple',
'b' => 'banana',
'c' => 'apple',
];
print_r(array_flip($arr));
output ကိုဖြစ်လိမ့်မည်:
Array
(
[banana] => b
[apple] => c // 'a' ဖုံးထားသော
)
Enum တန်ဖိုးများကိုကိုင်တွယ်သောအခါ၎င်းသည်အမှားများကိုဖြစ်ပေါ်စေနိုင်သည်,
array_flip () သည်သေးငယ်သော်လည်းအလွန်လက်တွေ့ကျသောလုပ်ဆောင်မှုတစ်ခုဖြစ်သည်။ ၎င်းမှတစ်ဆင့် PHP code ကိုပိုမိုတိကျစွာဖြည့်ဆည်းပေးနိုင်ပြီးဖတ်ရန်နှင့်အမှားအယွင်းများနည်းသည်။ နောက်တစ်ခါသင်ကွင်းဆက်တစ်ခုရေးရန်သင် နှင့် ပတ်သက်. သင်လည်းစဉ်းစားမိနိုင်သည်။